web-dev-qa-db-fra.com

Passer de openjdk-8-jre à openjdk-11-jre - ancre de confiance introuvable

Aujourd'hui, j'ai essayé de mettre à niveau mon serveur avec une passerelle DAVmail. Sur ma précédente installation, j'ai utilisé openjdk-8-jre-headless sans aucun problème. Maintenant que je suis passé à 18.04 et que j'ai installé openjdk-11-jre-headless, le message d'erreur suivant s'affiche:

davmail.exception.DavMailException: Exchange login exception: Java.lang.RuntimeException: Unexpected error: Java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

Si je rétrograde à openjdk-8-jre-headless à nouveau (et purge la version 11), l'erreur disparaît.

J'utilise "Let's encrypt" pour créer le certificat nécessaire - cela pose-t-il problème? Par exemple. que le nouveau certificat ISRG est inclus, mais que celui DST n’est plus présent? J'ai vérifié/usr/share/ca-certificates et trouvé les deux certificats d'autorité de certification, mais je ne sais pas si le contenu du magasin de clés Java est identique et si ce magasin de clés est même utilisé, car je fournis un fichier PKCS12. fichier via davmail.ssl.keystoreType=PKCS12 et davmail.ssl.keystoreFile=/etc/davmail/certs.p12. À propos, ce paquet contient le certificat Let's Encrypt Authority X3 ainsi que mon propre certificat et ma clé privée.

Des idées?

1
Apollo13

On dirait que vous êtes affecté pour BUG 1739631

Le solution de contournement du bogue qui a fonctionné pour moi était:

  1. éditez le fichier /etc/Java-9-openjdk/security/Java.security. Recherchez la ligne qui dit keystore.type = pkcs12 et remplacez-la par jks

  2. supprime le fichier/etc/ssl/certs/Java/cacerts: rm /etc/ssl/certs/Java/cacerts

  3. lancer update-ca-certificates -f

0
angelcervera

Exécutez ces commandes avec les autorisations Sudo

set -ex; \
keytool -importkeystore -srckeystore /etc/ssl/certs/Java/cacerts -destkeystore /etc/ssl/certs/Java/cacerts.jks -deststoretype JKS -srcstorepass changeit -deststorepass changeit -noprompt; \
mv /etc/ssl/certs/Java/cacerts.jks /etc/ssl/certs/Java/cacerts; \
/var/lib/dpkg/info/ca-certificates-Java.postinst configure; 
0
madhukar bs