2013-11-14 56 views
25

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

我该如何去做这个什么程序或命令来做到这一点?我是使用Openssl等来做到这一点的新手。

任何意见将不胜感激!

谢谢。

+1

尽管它只能部分解决您的问题,但您可能可以调整这些命令以获得正确的输出格式,请参阅http://stackoverflow.com/questions/991758/how-to-get-an- openssl-pem-file-from-key-and-crt-files和http://stackoverflow.com/questions/13732826/convert-pem-to-crt-and-key – x29a

+0

你也可以查看这个站点: https: //www.sslshopper.com/ssl-converter.html – authcate

+0

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。 – jww

回答

38

我假设你想要你的PEM私钥的DER编码版本。所以:

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

CA的不要问你的私钥,他们只要求CSR发出对你的证书,如果他们有你的私钥它可能是您的SSL证书将被破坏,并最终被撤销,您的.key文件是在CSR生成时生成的,最有可能是您生成CSR的PC上的某处。这就是为什么私人密钥被称为“私人”的原因,因为除了你,任何人都不能拥有该文件。

+0

感谢您的回复。我的CSR是在供应商的网站上完成的,它在购买之前是自动生成的。所以从供应商我收到intermediateCA,.pem和证书本身,文件本身从我收到的电子邮件复制,保存与certificate.crt,intermediateca.crt的扩展名&我试图将.pem转换成.key,因为我已经尝试.pe,文件本身,没有成功我得到了“为localhost配置的RSA证书:443不包含与服务器名称匹配的ID”。试图解决这个问题,在httpd.conf&ssl-httpd中检查所有服务器名是否正确。 CONF。请建议.thnks – user1644587

+0

很可能您的供应商可以为您提供关键。如果你可以找到-Begin Private Key-在你提供的代码上的某处,那么这就是你的私钥。只需将其保存在记事本中并将其另存为.key即可。 –

+0

谢谢Whisperer,我已经做到了,并且仔细检查了正确的路径并重新启动了服务,但仍然无法正常工作。 – user1644587

14
openssl x509 -outform der -in your-cert.pem -out your-cert.crt 
+1

介意解释? – CinCout

+0

证书和密钥都是必需的 –