如何从 Godaddy 证书导出私钥并与 Apache SSL 一起使用
Posted
技术标签:
【中文标题】如何从 Godaddy 证书导出私钥并与 Apache SSL 一起使用【英文标题】:how to export private key from Godaddy certificate and use with Apache SSL 【发布时间】:2012-01-14 07:30:10 【问题描述】:我购买了 Godaddy 证书,我在我的 Mac 服务器上正确安装了它,所以现在我在 Keychain Application 中看到 2 个条目:
Go Daddy 保护证书颁发机构 我的域名 mydomain(私钥)然后我将证书(mydomain.com)添加到 httpd.conf 文件的 VirtualHost 中,所以:
<VirtualHost *:443>
DocumentRoot "/Library/ApacheTomcat/apache-tomcat-6.0.33/webapps/MyServerAppName"
ServerName mydomain.com
ErrorLog "/private/var/log/apache2/mydomain.com-error_log"
CustomLog "/private/var/log/apache2/mydomain.com-access_log" common
SSLCertificateFile /etc/apache2/mydomain.cer
JkMountCopy On
JkMount /* ajp13
</VirtualHost>
那么,我想,我还需要私钥文件,否则 Apache 无法处理证书。 这个怎么做?我可以将 Apple Keychain 中的证书保存到 .pem 和 .cer 文件中。
【问题讨论】:
更适合ServerFault。 【参考方案1】:在钥匙串中,以 PKCS#12 格式(.p12 文件,个人信息交换)导出您的私钥和证书。您应该能够通过扩展您的私钥条目(在钥匙串访问中)、右键单击其证书并使用导出来执行此操作。它可能会要求您输入密码来保护此 p12 文件。
然后,在终端中,使用 OpenSSL 提取私钥:
umask 0077
openssl pkcs12 -in filename.p12 -nocerts -nodes -out filename-key.pem
umask 0022
请注意,您应该保护此文件,因为私钥将不受密码保护(以便 Apache Httpd 可以使用它)。
同样,对于证书(虽然您可能已经拥有 PEM 格式的证书,因此您可能不需要此步骤):
openssl pkcs12 -in filename.p12 -clcerts -nokeys -out filename-cert.pem
然后,设置 SSLCertificateFile
(cert) and SSLCertificateKeyFile
(private key) 选项以指向您的 Apache Httpd 配置中的这些文件。
【讨论】:
【参考方案2】:我遇到了同样的问题,我用这些命令导出私钥
umask 0077
openssl pkcs12 -in filename.p12 -nocerts -nodes -out filename-key.pem
umask 0022
这些用于导出证书
openssl pkcs12 -in filename.p12 -clcerts -nokeys -out filename-cert.pem
【讨论】:
以上是关于如何从 Godaddy 证书导出私钥并与 Apache SSL 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
将 GoDaddy 颁发的 .spc 和 .key 文件加入完整的 .pfx / .cer 证书
Java Keytools 证书转换成Openssl 的PEM 文件或keytools 导出私钥文件