Openssl 如何转换中间及;叶证书(PEM)至JKS

Openssl 如何转换中间及;叶证书(PEM)至JKS,openssl,cryptography,keystore,jks,Openssl,Cryptography,Keystore,Jks,我有以下文件keystore.txt: -----BEGIN CERTIFICATE----- MIIFkDCCA3ig2wIB4gIBPDANBgkqhkiG9w0BAQ0FADCBnzELMAkGA1UE5hMCZGUx DDAKBaNVBAgT... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- IaIGLTCCBBWgAwIBAg9w0BAQsBAjABAjABAjABjFADCBnzELMAkGA1UEBhMCZGUx DD

我有以下文件
keystore.txt

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

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

通常,您现在拥有的证书链仅在与私钥关联时才有意义。“JKS”是一种特殊的密钥库格式,其条目与javadocs描述的条目相匹配。请参阅
KeyStore
文档中的
KeyStore.PrivateKeyEntry
说明。您已经在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

“我看不出哪个证书是哪个。”这是什么意思?@JamesKPolk Question updated第一个看起来像证书的开头。第二个没有。您可能想提及您是如何创建此文件的。证书和私钥是两个完全不同的东西。文件是给我用来创建JKS的。有没有什么命令可以运行来识别哪个是哪个?好吧,这没有什么意义。