如何转换中级和& Leaf Certs(PEM)到JKS

时间:2018-03-10 02:41:31

标签: openssl cryptography keystore jks

我有以下文件keystore.txt

-----BEGIN CERTIFICATE-----
MIIFkDCCA3ig2wIB4gIBPDANBgkqhkiG9w0BAQ0FADCBnzELMAkGA1UE5hMCZGUx
DDAKBaNVBAgT...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
IaIGLTCCBBWgAwIBAg9w0BAQsBAjABAjABAjABjFADCBnzELMAkGA1UEBhMCZGUx
DDAKINBgkqhkiGBgNVBAgTA...
-----END CERTIFICATE-----

这是一个中间证书,后面跟着一个叶子证书。你如何将其转换为JKS格式?

1 个答案:

答案 0 :(得分:0)

通常,证书链是您现在拥有的,只有与私钥相关才有意义。 “JKS”是一种特殊的密钥库格式,其条目与Java KeyStore javadocs描述的条目相匹配。请参阅KeyStore.PrivateKeyEntry文档中KeyStore的说明。您已经在JKS密钥库中拥有私钥。因此,典型的流程类似于以下内容:

keytool -genkeypair -keystore myks.jks -alias server1
keytool -certreq -keystore myks.jks -alias server1 -file server1.p10

server1.p10包含PKCS#10证书请求。其中包含与密钥库中别名server1中的私钥对应的公钥。现在,您将获取文件server1.p10并将其提供给您的证书颁发机构(CA)。如果一切顺利,他们将返回一个包含正确签名的叶证书和0个或更多中间证书的文件。这可能是您所指的文件keystore.txt。 (请注意,我所知道的所有信誉良好的SSL CA将始终包含至少1个中间证书以及您的叶证书。)

然后,您可以使用以下命令将这些证书导入密钥库,并指定与正确私钥对应的别名。

keytool -importcert -keystore myks.jks -alias server1

这样就完成了交易。密钥库现在包含可通过别名server1访问的私钥和关联证书链。