openssl p12 生成因 CA 捆绑链选项而失败

openssl p12 生成因 CA 捆绑链选项而失败

我正在尝试为 Java servlet 框架安装 SSL 证书。我有 3 个文件:私钥 (PEM)、证书文件 (PEM) 和 CA 包 (PEM)。当我运行:

openssl pkcs12 -export -in server.crt -inkey server.key -certfile server.crt -out server.p12 -CAfile server.ca-bundle -chain

...为了获取p12可以用来创建 Java 密钥库的文件,它失败并出现以下错误:

Error unable to get issuer certificate getting chain. 

在其他地方,我已使用相同的密钥、证书和 CA 捆绑文件成功设置了 2 个 Apache 服务器,并且没有任何问题。为什么我会收到此错误?

答案1

我找到了这个问题的解决方案这篇博文. 摘自该帖子:

经过一些测试,我发现您需要创建一个新的 CAfile 来使用,它将来自 openssl 发行版的 cacerts 文件和中间 .crt 文件结合起来……

...即:

cat your-server-bundle /etc/ssl/certs/ca-certificates.crt > allcacerts.crt

...然后使用(或无论您称呼它什么)作为openssl 命令中选项allcacerts.crt的参数。-CAfile

相关内容