【发布时间】:2010-12-21 07:20:53
【问题描述】:
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);
当证书密码存在时,此代码可以正常工作。但是当证书密码为空时(因此证书不受密码保护),我们会从 keyManagerFactory.init 行中得到除以零的错误。
有人知道为什么会这样吗?没有密码就不能使用证书吗? 谢谢
【问题讨论】:
-
没错,你必须有密码。
标签: java keystore pkcs#12 divide-by-zero