关键工具错误:java.security.KeyStoreException:未找到BKS

3

如何在Java Sun Keytool中创建.bks密钥库?应该怎么做?

C:\Program Files\Java\jdk1.6.0\jre\bin>keytool -genkey -alias server3private -ke
ystore server3.private -storetype BKS -keyalg rsa -dname "CN=Your Name, OU=Your
Organizational Unit, O=Your Organization, L=Your City, S=Your State, C=Your Coun
try" -storepass tahirpw -keypass tahirpw

它给了我一个错误

keytool 错误: java.security.KeyStoreException: 找不到 BKS


https://dev59.com/J2855IYBdhLWcg3w75Iv - guido
1个回答

17
您的错误表明keytool尝试实例化一个BKS密钥库,但没有密码服务提供商(CSP)能够提供这样的实现。 BouncyCastle CSP是实现BKS密钥库类型的一种类型。
因此有两个解决方案:
  1. 使用Java安装此提供程序。Oracle与Java一起发布了全面的文档

  2. 传递适当的选项给keytool,以指示应使用哪个CSP及其位置:

-storetype BKS                                               <- keystore type
-provider org.bouncycastle.jce.provider.BouncyCastleProvider <- CSP implementation
-providerpath /path/to/bouncycastle.jar                      <- Path to the CSP jar file

我已经按照您提供的指南在Mac OSX上使用Java中的keytool进行了尝试,但是出现了以下错误:“java.lang.RuntimeException: Usage error, ?providerpath is not a legal command.” 然而,当我尝试“keytool -help”时,它显示“-providerpath”是-genkeypair命令的合法命令,因此应该可以正常工作... 您有什么想法,为什么它对我不起作用?谢谢! - gymshoe
如果还有其他人想知道:bouncycastle.jar是在http://www.bouncycastle.org/latest_releases.html上命名为`bcprov-[...].jar`的已签名**提供者**jar文件。 - Corbie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接