如何从现有证书(abc.crt)和abc.key文件创建密钥库?

问题描述:

我正试图将证书和密钥文件导入密钥库,但我无法这样做。如何从现有证书(abc.crt)和abc.key文件创建密钥库?

如何通过导入现有证书(abc.crt)和abc.key文件来创建密钥库?

最简单的可能是使用OpenSSL创建一个PKCS#12文件:

openssl pkcs12 -export -in abc.crt -inkey abc.key -out abc.p12 

您应该能够使用生成的文件直接使用PKCS12仓库类型。

如果你真的需要,你可以使用keytool -importkeystore其转换为JKS(提供keytool从Java 6):

keytool -importkeystore -srckeystore abc.p12 \ 
     -srcstoretype PKCS12 \ 
     -destkeystore abc.jks \ 
     -deststoretype JKS 
+0

感谢布鲁诺,能否请你让我知道从我可以在哪里获得openssl实用程序? – 2012-08-14 16:59:24

+0

这里还有一个问题,是生成keystore平台特定的? 意味着它会工作,如果我在Windows中创建密钥库并在unix中使用它? – 2012-08-14 17:02:45

+1

生成的密钥库与平台无关。 OSX和大多数Linux发行版都应该附带OpenSSL(否则,只需安装该软件包)。还有Windows的二进制文件(例如,[here](http://www.openssl.org/related/binaries.html),尽管您也可以在其他地方找到它。) – Bruno 2012-08-14 17:18:36

您必须使用OpenSSL和密钥工具。

OpenSSL,以便CER & PVK文件> P12

OpenSSL的PKCS12 -export -name servercert -in selfsignedcert.crt -inkey serverprivatekey.key -out myp12keystore.p12

Keytool for P12> JKS

密钥工具-importkeystore -destkeystore mykeystore.jks -srckeystore myp12keystore.p12 -srcstoretype PKCS12 -alias servercert

+0

私钥在哪里? – 2016-12-29 03:56:58

+0

这就是我不明白! – 2016-12-29 03:57:11

+0

这与以前的其他答案有何不同? – vikingsteve 2017-03-20 12:28:06