我试图使用转换-密钥存储工具(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密钥存储实用程序创建的:
密钥工具-genkey -alias myAlias -keyalg RSA -keysize 2048 -keystore server.keystore -validity 10000
CSR是从这个密钥存储库生成的,使用:
关键工具-certreq -v -alias myAlias -file naavis_public.csr -keypass转换-keystore server.keystore -storepass changeit
然后我从Thawte进口了证书:
密钥工具-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这个过程没有任何错误,并且能够在我的应用程序中使用这个keystore。
请指点。我使用的是Java1.6.45,并拥有正确版本的"java无限强度策略文件“。keystore也是在同一个java版本上创建的。
也在Java 1.7.55上尝试了这个过程。它也会产生同样的错误。
发布于 2016-07-14 08:28:33
实际上,您可以只使用Oracle JDK提供的keytool。下面的命令可用于将JKS转换为BKS。
密钥工具org.bouncycastle.jce.provider.BouncyCastleProvider -srckeystore测试密钥-srcstoretype JKS -srcstorepass密码短语-destkeystore testkeys.bks -deststoretype BKS -deststorepass密码-provider -provider -providerpath -providerpath
发布于 2020-07-23 15:15:32
只需下载KeyStore资源管理器并加载由keytool提供或生成的密钥,然后转到菜单并选择tools->type并选择bks。
bks v1 for API<23(如果您要为android寻找bks )
这个过程可以不使用keytool完成,只需使用KeyStore资源管理器即可完成。
https://stackoverflow.com/questions/26040688
复制相似问题