У нас проблема с KeyManagerFactory в Sun JRE 1.6. Для загрузки и использования сертификата в формате 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);
Этот код работает правильно, когда существует пароль сертификата. Но когда пароль сертификата является нулевым (то есть сертификат не защищен паролем), мы получаем ошибку деления на ноль из строки keyManagerFactory.init.
Кто-нибудь знает, почему это происходит? Разве нельзя использовать сертификат без пароля?
Спасибо