给定 csr、key、pem 和 crt 如何创建密钥库

How do you create a keystore given csr, key, pem and crt

这有点不寻常。我有一个 CentOS 7 服务器 运行 tomcat 7 我需要为它安装一个新的 SSL 证书。我无法控制该域,因此为我生成的证书是由母公司提供给我的,它是用于启动证书 (*.domain.com) 的。即使我向他们发送了一个 csr,他们也忽略了它并为我制作了一个新的。他们发送的包有一个 csr 文件、密钥、两种格式的证书(crt 和 p7s)和一个中间 pem。

我正在尝试使用这些文件创建一个新的密钥库,但遇到了困难。我找到了这个网站 https://makandracards.com/jan0sch/24553-import-private-key-and-certificate-into-java-keystore 并尝试过:

openssl pkcs12 -export -in my.crt -inkey my.key -chain -CAfile my-ca-file.crt -name "my-domain.com" -out my.p12

我更改了 CAfile 以使用提供的 pem 文件,但我得到 "unable to load certificates"

有人有什么想法吗?

编辑:

我用它来制作 p12,然后将其导入密钥库,但我不知道如何包含中间证书。

openssl pkcs12 -export -in my.crt -inkey myh.key -certfile my.crt -name "tomcat" -out keystore.p12
keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -destkeystore keystore -deststoretype JKS

编辑 2:

我正在尝试使用此命令获取 pfx 文件,然后

编辑3: 我的中间证书在导致错误的“-----BEGIN CERTIFICATE-----”之前有一堆空格。

看来我只需要这样做:

openssl pkcs12 -export -in my.crt -inkey myh.key -certfile intermediary.pem -name "tomcat" -out keystore.p12

keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -destkeystore keystore -deststoretype JKS

甚至不需要输入中间证书。