我已经购买了 SSL 证书,并且收到了证书和 .pem 文件作为私钥?来自供应商;现在我需要将此 .pem 密钥转换为 bitnami Redmine Apache Web 服务器的 .key 才能使其正常工作。
我该如何执行此操作,需要什么程序或命令来执行此操作? 我是使用 Openssl 等来执行此操作的新手。
如有任何建议,我们将不胜感激!
谢谢你。
我假设您想要 PEM 私钥的 DER 编码版本。
openssl rsa -outform der -in private.pem -out private.key
openssl rsa -in privkey.pem -out private.key
完成这项工作。
openssl x509 -outform der -in your-cert.pem -out your-cert.crt
CA 不要向索要您的私钥!他们只要求CSR为你颁发证书。
如果他们拥有您的私钥,您的 SSL 证书可能会被泄露并最终被撤销。
您的
.key
文件是在 CSR 生成过程中生成的,并且很可能位于您生成 CSR 的 PC 上的某个位置。
这就是为什么私钥被称为“Private” - 因为除了你之外没有人可以拥有该文件。
如果您正在寻找在 httpd-ssl.conf 中用作 SSLCertificateKeyFile 值的文件,则 PEM 文件应该可以正常工作。
有关该文件中 SSL 选项的更多详细信息,请参阅此 SO 问题/答案。
就像 .crt 文件采用 .pem 格式一样,.key 文件也以 .pem 格式存储。 假设证书是 .crt 文件中的唯一内容(其中可能有根证书),您只需将名称更改为 .pem 即可。 .key 文件也是如此。 这当然意味着您可以将 .pem 文件重命名为 .key。
这使得 gtrig 的答案是正确的。 我只是想解释一下原因。
对于来自 certbot 的 privkey.pem 文件,以下方法有效
openssl pkey -outform der -in privkey.pem -out priv.key