我正在尝试使用 convert-keystore 实用程序将 JKS 密钥库转换为 BKS 密钥库(https://code.google.com/p/zip-signer/downloads/detail?name=convert-keystore-1.2.zip&can=2&q=)。
在执行命令时
> java -jar convert-keystore-1.2.jar server.keystore.jks server.keystore.bks
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
>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)
Run Code Online (Sandbox Code Playgroud)
密钥库是通过 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
Run Code Online (Sandbox Code Playgroud)
这没有任何错误,并且能够在我的应用程序中使用这个密钥库。
请指导。我正在使用 Java 1.6.45 并拥有正确版本的“java 无限强度策略文件”。密钥库也是在相同的 Java 版本上创建的。
在 Java 1.7.55 上也试过这个过程。它产生相同的错误。
其实你可以使用Oracle JDK提供的keytool。下面的命令可用于将 JKS 转换为 BKS。
keytool -importkeystore -srckeystore testkeys -srcstoretype JKS -srcstorepass passphrase -destkeystore testkeys.bks -deststoretype BKS -deststorepass password -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath C:\Personal\Work\lib\bouncycastle\b1k5-d -152.jar
归档时间: |
|
查看次数: |
4314 次 |
最近记录: |