Ssl 如何使用keytool创建证书链?

Ssl 如何使用keytool创建证书链?,ssl,keytool,nss,Ssl,Keytool,Nss,我想用java创建证书链,如下所示: ca.mycompany.com |--asia.mycompany.com |--india.mycompany.com 其中ca.mycompany.com是根证书(自签名) 我知道这在OpenSSL中是可能的。但有可能用keytool实现这一点吗 如果没有,我可以用Mozilla NSS库实现这一点吗?中有一个示例演示了如何实现这一点: keytool -genkeypair -keystore root.jks -alias root -ex

我想用java创建证书链,如下所示:

ca.mycompany.com
|--asia.mycompany.com
   |--india.mycompany.com
其中ca.mycompany.com是根证书(自签名)

我知道这在OpenSSL中是可能的。但有可能用keytool实现这一点吗


如果没有,我可以用Mozilla NSS库实现这一点吗?

中有一个示例演示了如何实现这一点:

keytool -genkeypair -keystore root.jks -alias root -ext bc:c
keytool -genkeypair -keystore ca.jks -alias ca -ext bc:c
keytool -genkeypair -keystore server.jks -alias server

keytool -keystore root.jks -alias root -exportcert -rfc > root.pem
keytool -storepass <storepass> -keystore ca.jks -certreq -alias ca | keytool -storepass <storepass> -keystore root.jks -gencert -alias root -ext BC=0 -rfc > ca.pem

cat root.pem ca.pem > cachain.pem
keytool -keystore ca.jks -importcert -alias ca -file cachain.pem

keytool -storepass <storepass> -keystore server.jks -certreq -alias server | keytool -storepass <storepass> -keystore ca.jks -gencert -alias ca -ext ku:c=dig,keyEncipherment -rfc > server.pem
cat root.pem ca.pem server.pem > serverchain.pem
keytool -keystore server.jks -importcert -alias server -file serverchain.pem
keytool-genkeypair-keystore root.jks-alias root-ext bc:c
keytool-genkeypair-keystore ca.jks-alias ca-ext bc:c
keytool-genkeypair-keystore server.jks-alias服务器
keytool-keystore root.jks-alias root-exportcert-rfc>root.pem
keytool-storepass-keystore ca.jks-certreq-alias ca | keytool-storepass-keystore root.jks-gencert-alias root-ext BC=0-rfc>ca.pem
cat root.pem ca.pem>cachain.pem
keytool-keystore ca.jks-importcert-alias ca-file cachain.pem
keytool-storepass-keystore server.jks-certreq-alias server | keytool-storepass-keystore ca.jks-gencert-alias ca-ext ku:c=dig,密钥加密-rfc>server.pem
cat root.pem ca.pem server.pem>serverchain.pem
keytool-keystore server.jks-importcert-alias server-file serverchain.pem
您还可以使用以下工具轻松生成证书链:

  • 创建一个新的密钥对,这意味着创建一个自签名证书(根CA)
  • 右键单击根CA证书并选择“签署新密钥对”,这将创建子CA证书和密钥对
  • 右键单击子CA证书并再次选择“签署新密钥对”
  • 由此产生的链条:


    这是一个完美的教程,可以帮助您完成学习过程。基本上,过程是您需要使用CA的密钥对证书进行签名,然后将证书安装到您创建的密钥库中。

    否。您只能创建自签名证书,而不能创建链。您可以从其他地方导入链。您的说明的步骤6给出了我的
    keytool错误:java.lang.Exception:未能从reply建立链
    @Stewart这些不是我的说明,它们是从官方keytool文档(我的回答中的s.链接)复制的。不管怎样,我已经解决了这个问题。我知道你做了什么。根和CA作为链一起导入。