【问题标题】:How to create keystore from cer files?如何从 cer 文件创建密钥库?
【发布时间】:2019-12-04 17:44:59
【问题描述】:

我在从 cer 文件创建密钥库时遇到问题。

我有三个文件:

  1. NameCertyfikat2015.cer
  2. NameIntermediateCA.cer
  3. NamePrivateKey.txt

我想获取 jks Keystore 文件。如何使用 keytool 执行此操作?我需要该文件用于 Wildfly 容器。

我的 NamePrivateKey.txt 开头为:

-----BEGIN RSA PRIVATE KEY-----

【问题讨论】:

标签: certificate ssl-certificate


【解决方案1】:

添加 4/21:发现重复:

keytool 不直接处理私钥。

正常过程是:

  1. keytool -genkeypair 私钥和公钥 in 一个 JKS
  2. keytool -certreq那个密钥对生成一个 CSR
  3. 将 CSR(和相关证据)发送给 CA 以获得证书
  4. keytool -importcert 证书,加上任何需要的中间证书或“链”证书,进入 相同 JKS

如果您没有包含 privateKey 的 JKS,但您的 PrivateKey.txt 文件包含 openssl 可用格式的私钥 - 它是否以 -----BEGIN 行开头,后跟一些 base64 行和一个匹配的-----END 行,如果是这样,那么以 BEGIN 命名的类型是什么? -- 如果你有或得到了openssl,你可以使用openssl将私钥和相关证书组合成一个PKCS#12文件,然后keytool可以将PKCS#12转换成JKS之类的这个:

keytool -importkeystore -srckeystore p12file -srcstoretype pkcs12 -destkeystore jksfile 

或者根据https://issues.jboss.org/browse/WFLY-3686(足够新?)Wildfly 可以按原样使用 PKCS12 密钥库(代替 JKS)。

编辑 4/21:openssl pkcs12 实用程序的文档在您系统的手册页中,如果安装了 OpenSSL 的类 Unix(通常是第 1ssl 部分或类似部分),或在线 https://www.openssl.org/docs/apps/pkcs12.html#FILE-CREATION-OPTIONS,或重复以上,或者Convert a CERT/PEM certificate to a PFX certificate

【讨论】:

  • 我编辑了我的问题并添加了关于我的私钥的其他信息。但是如何使用 openssl 创建 pcks112 密钥库?
  • @luckybastard 是的 PEM 类型“RSA PRIVATE KEY”由 OpenSSL 处理(除了使用/包装 OpenSSL 的东西,如 stunnel 和 curl);对于 pkcs12,请参阅编辑