【发布时间】:2014-11-20 08:25:17
【问题描述】:
我正在尝试使用 convert-keystore 实用程序 (https://code.google.com/p/zip-signer/downloads/detail?name=convert-keystore-1.2.zip&can=2&q=) 将 JKS 密钥库转换为 BKS 密钥库。
在执行命令时
> java -jar convert-keystore-1.2.jar server.keystore.jks server.keystore.bks
我收到以下错误:
>java.security.KeyStoreException: java.lang.NullPointerException
at org.bouncycastle.jce.provider.JDKKeyStore.engineSetKeyEntry(Unknown Source)
at java.security.KeyStore.setKeyEntry(KeyStore.java:880)
at kellinwood.keystore.Convert.main(Convert.java:89)
密钥库是通过 Java 密钥库实用程序创建的:
keytool -genkey -alias myAlias -keyalg RSA -keysize 2048 -keystore server.keystore -validity 10000
CSR 是使用以下密钥库生成的:
keytool -certreq -v -alias myAlias -file naavis_public.csr -keypass changeit -keystore server.keystore -storepass changeit
然后我从 Thawte 导入证书:
keytool -import -trustcacerts -alias SSL -keystore server.keystore.jks -file ssl.crt
>keytool -import -trustcacerts -alias INTERMEDIATE -keystore server.keystore.jks -file intermediate.crt
>keytool -import -trustcacerts -alias ROOT -keystore server.keystore.jks -file root.crt
这一切顺利完成,并且能够在我的应用程序中使用此密钥库。
请指导。 我正在使用 Java 1.6.45 并拥有正确版本的“java 无限强度策略文件”。密钥库也是在相同的 java 版本上创建的。
在 Java 1.7.55 上也尝试过这个过程。它产生同样的错误。
【问题讨论】: