Sun JRE 1.6 の KeyManagerFactory に問題があります。次のようなコードを使用して、p12 形式の証明書をアップロードして使用しています。
KeyStore keyStore = KeyStore.getInstance(PKCS12);
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(SUN_X509);
InputStream certificateFile = getSSLCertificate();
String certificatePassword = getSSLCertificatePassword();
keyStore.load(certificateFile, certificatePassword);
keyManagerFactory.init(keyStore, certificatePassword);
このコードは、証明書のパスワードが存在する場合に正しく機能します。しかし、証明書のパスワードが null の場合 (つまり、証明書がパスワードで保護されていない場合)、keyManagerFactory.init 行からゼロ除算エラーが発生します。
なぜこれが起こっているのか誰にも分かりますか?パスワードなしで証明書を使用することはできませんか? ありがとう