web-dev-qa-db-ja.com

openjdk-8-jreからopenjdk-11-jreに切り替える-トラストアンカーが見つかりません

今日、DAVmailゲートウェイを実行しているサーバーをアップグレードしようとしました。以前のインストールでは、問題なくopenjdk-8-jre-headlessを使用しました。 18.04にアップグレードしてopenjdk-11-jre-headlessをインストールしたので、次のエラーが表示されます。

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

再びopenjdk-8-jre-headlessにダウングレード(およびバージョン11をパージ)すると、エラーはなくなります。

「暗号化しましょう」を使用して必要な証明書を作成します-それが問題になる可能性がありますか?例えば。新しいISRG証明書が含まれていますが、DST証明書はもう存在しないということですか?/usr/share/ca-certificatesを確認し、両方のCA証明書を見つけましたが、Javaキーストアの内容が同じかどうか、またPKCS12を提供しているためにこのキーストアが使用されているかどうかわかりませんdavmail.ssl.keystoreType=PKCS12およびdavmail.ssl.keystoreFile=/etc/davmail/certs.p12経由のファイル。ちなみに、このパッケージには、Let's Encrypt Authority X3証明書と、自分の証明書と秘密キーが含まれています。

何か案は?

1
Apollo13

BUG 1739631 の影響を受けているようです

バグの回避策 私のために働いた:

  1. /etc/Java-9-openjdk/security/Java.securityファイルを編集します。 keystore.type = pkcs12という行を見つけて、jksに変更します

  2. / etc/ssl/certs/Java/cacertsファイルを削除します:rm /etc/ssl/certs/Java/cacerts

  3. update-ca-certificates -fを実行します

0
angelcervera

これらのコマンドを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