如何将 .pem 转换为 .key?

Posted

技术标签:

【中文标题】如何将 .pem 转换为 .key?【英文标题】:How to convert .pem into .key? 【发布时间】:2013-11-27 13:16:20 【问题描述】:

我已经购买了 SSL 证书并且我收到了证书和一个 .pem 文件作为私钥?来自供应商;现在我需要将此 .pem 密钥转换为 bitnami Redmine Apache Web 服务器的 .key 才能使其工作。

我该怎么做这个什么程序或命令来做这个?在使用 Openssl 等方面,我是一个新手。

任何建议将不胜感激!

谢谢。

【问题讨论】:

虽然它只能部分解决您的问题,但您也许可以调整这些命令以获得正确的输出格式,请参阅 ***.com/questions/991758/… 和 ***.com/questions/13732826/convert-pem-to-crt-and-key 您也可以查看本站:sslshopper.com/ssl-converter.html 【参考方案1】:

我假设您想要 PEM 私钥的 DER 编码版本。

openssl rsa -outform der -in private.pem -out private.key

【讨论】:

@siddharth 这篇文章是关于私钥的转换。如果要转换证书,请使用:“openssl x509 -outform der -in cert.pem -out cert.der”【参考方案2】:

openssl rsa -in privkey.pem -out private.key 完成这项工作。

【讨论】:

这对我有用的 .pem 生成自 Openstack 密钥对【参考方案3】:
openssl x509 -outform der -in your-cert.pem -out your-cert.crt

【讨论】:

证书和密钥都是必需的【参考方案4】:

CA 的不要向索要您的私钥!他们只要求 CSR 为您颁发证书。

如果他们有您的私钥,您的 SSL 证书可能会被泄露并最终被吊销。

您的 .key 文件是在 CSR 生成期间生成的,并且很可能在您的 PC 上生成 CSR 的某个位置。

这就是为什么私钥被称为“Private” - 因为除了你之外没有人可以拥有该文件。

【讨论】:

感谢您的回复。我的 CSR 是在供应商的网站上完成的,它是在购买前自动生成的。所以从供应商那里我收到了intermediateCA、.pem和证书本身,文件本身是从我收到的电子邮件中复制的,并以certificate.crt、intermediateca.crt的扩展名保存,我正在尝试将.pem转换为.key,就像我尝试过的那样.pe,文件本身,我没有成功“为本地主机配置的 RSA 证书:443 不包含与服务器名称匹配的 ID”。尝试解决此问题,检查所有服务器名称在整个 httpd.conf 和 ssl-httpd 中都是正确的。 conf。请告知.thnks 很可能您的供应商可以为您提供密钥。如果您可以在提供的代码上的某处找到 -Begin Private key-,那么这就是您的私钥。只需将其保存在记事本上并另存为 .key。 谢谢耳语者,我已经这样做了,并仔细检查了正确的路径,但重新启动的服务仍然不起作用。【参考方案5】:

如果您正在寻找要在 httpd-ssl.conf 中用作 SSLCertificateKeyFile 的值的文件,PEM 文件应该可以正常工作。

有关该文件中 SSL 选项的更多详细信息,请参阅此 SO 问题/答案。

Why is SSLCertificateKeyFile needed for Apache?

【讨论】:

【参考方案6】:

正如 .crt 文件采用 .pem 格式一样,.key 文件也以 .pem 格式存储。假设证书是 .crt 文件中的唯一内容(其中可能有根证书),您只需将名称更改为 .pem。 .key 文件也是如此。这当然意味着您可以将 .pem 文件重命名为 .key。

这使得 gtrig 的答案是正确的。我只是想我会解释原因。

【讨论】:

以上是关于如何将 .pem 转换为 .key?的主要内容,如果未能解决你的问题,请参考以下文章

text 如何将.pfx SSL证书转换为.crt / key(pem)格式。对NGINX很有用

当我尝试将其转换为 cert.pem 和 key.pem 时,我有 p12 证书。 Key.pem 为空

将CERT / PEM证书转换为PFX证书

将证书从 pem 转换为 jks

无法使用 openSSL 将 .p12 转换为 .pem

如何将 .crt 转换为 .pem [重复]