今日、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
証明書と、自分の証明書と秘密キーが含まれています。
何か案は?
BUG 1739631 の影響を受けているようです
バグの回避策 私のために働いた:
/etc/Java-9-openjdk/security/Java.securityファイルを編集します。 keystore.type = pkcs12という行を見つけて、jksに変更します
/ etc/ssl/certs/Java/cacertsファイルを削除します:rm /etc/ssl/certs/Java/cacerts
update-ca-certificates -f
を実行します
これらのコマンドを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;