Java 如何将证书文件添加/转换为pkcs12文件

Java 如何将证书文件添加/转换为pkcs12文件,java,x509certificate,pkcs#12,jks,cer,Java,X509certificate,Pkcs#12,Jks,Cer,我已收到访问生产服务器的三个证书(.CER文件)。如何将这些证书添加/转换为PKCS12文件。首先将证书导出到密钥库,然后将密钥库作为PKCS12文件导入。如果安装了java,则可以使用keytool命令来完成这两个任务。 1) /jre/bin/keytool-importcert-alias cert1-keystore keystore.jks-file cert1.cer 2) /jre/bin/keytool-importkeystore-srckeystore keystore.j

我已收到访问生产服务器的三个证书(.CER文件)。如何将这些证书添加/转换为PKCS12文件。

首先将证书导出到密钥库,然后将密钥库作为PKCS12文件导入。如果安装了java,则可以使用keytool命令来完成这两个任务。

1) /jre/bin/keytool-importcert-alias cert1-keystore keystore.jks-file cert1.cer
2) /jre/bin/keytool-importkeystore-srckeystore keystore.jks-srclias cert1-destkeystore keystore.p12-deststoretype PKCS12



使用openssl也可以执行类似的步骤。

我遇到了相同的错误,当它说“您想退出导入过程吗?”?[否]:“继续键入“否”。最后显示:导入命令已完成:1个条目成功导入,2个条目失败或取消


它起作用了,我所有的证书都正确地导入了新格式

我刚刚使用了旧版本的keytool可执行文件,问题已得到解决。

您在其上签署证书的服务器$(主机名-f)。pem应具有与您计划导入证书的节点相同的java版本,如下所示:

$JAVA_HOME/bin/keytool-importcert-alias$(主机名-f)-file/opt/cloudera/security/pki/$(主机名-f).pem-keystore/opt/cloudera/security/pki/$(主机名-f).jks


如果您在服务器上使用较低版本来签署证书,但在TLS/SSL的节点上使用新的java版本,您将看到警告。

您是否也有私钥?在访问生产环境的密钥库中,我只收到了三个证书(没有密钥/别名等)。但是在我的开发环境中,我有密钥库文件、密钥库的别名和密码以及PKSC12文件。您将如何使用PKCS12文件?这些证书是服务器证书还是CA证书的证书链?代码在开发环境中运行良好,我有两个证书(PKCS12)用于签名和加密以向服务器发送消息。以及我用来生成信任库文件的自签名证书(JKS)。现在我已经收到了访问生产服务器的三个证书(.CER文件)。我将如何将这些证书添加/转换为PKCS12文件和信任库文件。我正在运行第一个命令keytool-export-alias cert1-keystore new\u truststore.jks-file ProduCert.cer它给我的错误文件new\u truststore.jks不存在。如果我给我的开发环境JKS文件,那么我得到的别名cert1不存在。keytool-importcert-alias medicare-keystore storeskey.jks-file ProduCert.cer 2。keytool-importkeystore-SrcKeyStoreSkey.jks-srcalias medicare-destkeystore keystore.p12-deststoretype PKCS12,我遇到以下异常:导入alias medicare的条目时出现问题:java.security.KeyStoreException:TrustedCertEntry不受支持。未导入别名medicare的条目。请建议。