我购买了Godaddy证书,我在Mac服务器上正确安装了它,所以现在我在Keychain应用程序中看到2个条目:
然后我将证书(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文件中。
答案 0 :(得分:8)
在Keychain中,以PKCS#12格式(.p12文件,个人信息交换)导出您的私钥和证书。您应该可以通过扩展私钥条目(在Keychain Access中),右键单击其证书并使用Export来完成此操作。它可能会要求您输入密码来保护这个p12文件。
然后,在终端中,使用OpenSSL提取私钥:
umask 0077
openssl pkcs12 -in filename.p12 -nocerts -nodes -out filename-key.pem
umask 0022
同样,对于证书(虽然您可能已经有PEM格式,但您可能不需要这一步):
openssl pkcs12 -in filename.p12 -clcerts -nokeys -out filename-cert.pem
然后,将SSLCertificateFile
(cert) and SSLCertificateKeyFile
(private key)选项设置为指向Apache Httpd配置中的这些文件。
答案 1 :(得分:0)
我遇到了同样的问题,我使用这些命令导出私钥
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