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

使用BKS和keytool导致无法从回复建立链

齐意致
2023-03-14

我正在尝试创建BKS密钥存储,但无法导入证书答复

我收到错误,因为keytool错误:java.lang.Exception:无法从回复建立链

java.lang.Exception: Failed to establish chain from reply
            at sun.security.tools.KeyTool.establishCertChain(KeyTool.java:3375)
            at sun.security.tools.KeyTool.installReply(KeyTool.java:2583)
            at sun.security.tools.KeyTool.doCommands(KeyTool.java:998)
            at sun.security.tools.KeyTool.run(KeyTool.java:340)
            at sun.security.tools.KeyTool.main(KeyTool.java:333)

BKS密钥存储创建步骤:

步骤3:将证书作为信任CRT导入BKS密钥存储

keytool-importcert-storetype BKS-keystore mykeystore.BKS-alias root-ca-file cacert.crt-provider org.bouncycastle.jce.provider.bouncycastleprovider-keypass bks123-storepass bks123-providerpath bcprov-ext-jdk15on-154.jar

步骤4:生成密钥对

keytool-genkeypair-alias java-client2-key-keyalg rsa-keysize 2048-sigalg SHA256withRSA-storetype BKS-keystore mykeystore.BKS-provider org.bouncycastle.jce.provider.bouncycastleprovider-keypass bks123-storepass bks123-providerpath bcprov-ext-jdk15on-154.jar

步骤5:生成证书请求(CSR)

keytool-certreq-alias java-client2-key-file client2-ugoca.csr-storetype BKS-keystore mykeystore.BKS-provider org.bouncycastle.jce.provider.bouncycastleprovider-keypass bks123-storepass bks123-providerpath bcprov-ext-jdk15on-154.jar

步骤6:使用在步骤1中创建的自签名根CA对CSR进行签名

openssl x509-req-days 365-in client2-ugoca.csr-ca cacert.crt-cakey cakey.pem-set_serial 300661-out java-client2.crt

步骤7:将签名的证书导入密钥存储

keytool-v-importcert-alias java-client2-key-file java-client2.crt-trustcacerts-storetype BKS-keystore mykeystore.BKS-keypass bks123-storepass bks123-provider org.bouncycastle.jce.provider.bouncycastleprovider-providerPath bcprov-ext-jdk15on-154.jar

注意:能够使用以上步骤创建java JKS密钥库

非常感谢任何帮助....!

共有1个答案

缑文栋
2023-03-14

在步骤6之后:我们需要创建包含根CRT的客户端CRT,如下所示

然后在步骤7中:导入client_chain.crt,如下所示

keytool-v-importcert-alias java-client2-key-file client_chain.crt-trustcacerts-storetype BKS-keystore mykeystore.BKS-keypass bks123-storepass bks123-provider org.bouncycastle.jce.provider.bouncycastleprovider-providerPath bcprov-ext-jdk15on-154.jar

 类似资料:
  • 我在一个使用Microsoft Active Directory证书服务(MS ADCS)PKI的环境中工作。在这种环境下,我将部署这个Java应用程序,它使用Java密钥存储来管理https服务器的密钥和证书。实际上的管理工具似乎是。的文档可以在这里找到。 生成密钥对、创建证书请求和导入证书的一般推荐方法如下: > 生成证书请求 导入根证书 导入中间证书 导入新签署的证书 第3步建立信任锚。打印

  • 我正在使用以下命令导入密钥库中的证书: 它要求输入密码,并在cmd上显示以下结果:

  • 我正在尝试使用keytool(使用Mac OS X上的终端应用程序)创建“bks”密钥库。我正在遵循keytool错误:java中的说明。安全KeyStoreException:未找到BKS 这是我的用法: 我收到以下错误: 我已经看到了无数Web帖子(包括上面的帖子)中推荐的选项,当我运行时,它确认语法是合法的: 我还尝试了以下替代方案(根据http://docs.oracle.com/java

  • 问题内容: 我正在尝试从MS AD中检索一些信息:特定分支机构的成员,部门名称,职位等。 我使用了很多示例,包括Apache Directory LDAP API 和UnboundID,但是我无法与AD建立连接。 RDN: 为了进行搜索,我使用以下过滤器: 当我使用中的数据创建目录上下文时,出现异常: 如果未指定密码,则会出现以下异常: 我已验证我的帐户未锁定。 根据常见的活动目录LDAP绑定错误

  • 问题内容: 我正在尝试使用以下命令将标准PKCS#12(.p12)密钥库转换为Java JKS密钥库: 它失败了: 您有解决该问题的想法吗? 问题答案: pkcs12密钥库确实已损坏。

  • 问题内容: 我正在学习Android编程,现在已经尝试了几天。我正在编写应该连接到XMPP服务器的Android应用。我一直都在犯同样的错误,并且真的不知道我在做什么错。我已经尝试过使用Google找到的示例代码,但也无法与它们建立连接。 } 这是我得到的错误: 我还检查了防火墙是否允许连接,并尝试连接到hosted.im服务而不是家庭服务器,结果相同。 问题答案: 解决方案是将连接代码放入单独的