当前位置: 首页 > 知识库问答 >
问题:

JKS到BKS密钥库

杜俊爽
2023-03-14

我试图转换JKS密钥存储到BKS密钥存储使用转换密钥存储实用程序(https://code.google.com/p/zip-signer/downloads/detail?name=convert-keystore-1.2.zip

在执行命令时

> 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服务器。密钥库-有效性10000

CSR是使用以下方法从此密钥库生成的:

keytool-certreq-v-alias myAlias-file naavis_public。csr-keypasschangeit-keystore服务器。密钥库-storepass changeit

然后我从Thawte导入证书:

keytool-import-trustcacerts-alias SSL-keystore服务器。密钥库。jks-文件ssl。阴极射线管

>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版本上创建的。

我们也在Java1.7.55上尝试过这个过程。它会产生同样的错误。

共有2个答案

公羊喜
2023-03-14

只需下载KeyStore资源管理器,并加载您的密钥,它提供或制作的key工具,然后转到菜单并选择工具-

用于API的bks v1

这个过程可以做到没有keyool和只是与KeyStore资源管理器

阳狐若
2023-03-14

实际上,您可以使用OracleJDK提供的keytool。下面的命令可用于将JKS转换为BKS。

keytool-importkeystore-srckeystoretestkeys-srcstoretypejks-srcstorepass密码短语-destkeystoretestkeys。bks-deststoretype bks-deststorepass密码-提供商组织。弹跳船舱。jce。供应商。BouncyCastleProvider-providerpath C:\Personal\Work\lib\bouncycastle\bcprov-jdk15on-152。罐子

 类似资料:
  • 我有一个由openssl以以下方式生成的密钥对 openssl genrsa-out private_key.pem 2048 所以我的问题是如何使用KeyTool将现有密钥导入到BKS密钥库中? 谢谢

  • 问题内容: 我想知道是否存在Java中使用的JKS密钥存储格式的正式规范?我想编写一个往返PKCS#12的转换器,但不是用Java编写的,因此不幸的是,不能选择使用keytool或Java代码。 在一个十六进制编辑器中查看一个告诉我,它可能不是ASN.1。在我开始研究OpenJDK之前,尝试对格式进行逆向工程,是否有人知道是否存在规范?到目前为止我找不到任何东西,将不胜感激! 问题答案: 我认为您

  • 我必须连接到一个基于REST的WebService。 (https://someurl.com/api/lookup/jobfunction/lang/en) 在IE或chrome浏览器中,当我尝试访问这个URL时,我会得到一个证书,我必须信任它并接受它才能继续,然后我必须输入用户名和密码,然后我会得到JSON响应。 同样的事情,我必须为一个android应用程序编程。 > 尝试使用自定义Easy

  • 我正在尝试在GCP Dataproc上运行结构化流程序,该程序访问来自Kafka的数据并打印它。 对 Kafka 的访问使用 SSL,并且信任库和密钥库文件存储在存储桶中。我正在使用谷歌存储API来访问存储桶,并将文件存储在当前工作目录中。信任库和密钥库将传递到 Kafka 使用者/创建者。但是 - 我得到一个错误 命令: 代码如下所示: 错误: 从我的mac中,我使用PKCS文件(. p12),

  • 应用程序A调用webservice应用程序B 相互认证。 我们有申请证书。由名为C的CA签名的证书。这是jks文件中唯一的单一证书内容 我们使用了相同的jks文件作为应用程序密钥库和信任库。它运转良好。 我的理解是,当应用程序A调用appB时,appB发送其证书,该证书也由名为C的CA签名。appA接受该证书,因为在appA TrsStore中,我们有另一个证书,该证书由名为C的CA签名。 然后,

  • 我正在尝试对现有API启用Azure密钥库证书。我们已经在Azure Key Vault帐户中拥有秘密和Azure Key Vault证书。下面是配置证书的代码: 在我的本地计算机上,我正确地导入了证书,其中包括下载pfx格式。