我们正在办公室设置一个新的子域,并使用我们的通配符SSL证书。我已经创建了密钥和csr文件。然后,我已发送到csr文件以获取我们现在拥有的cer文件。 (我将发布进一步运行的命令)。在将a2ensite用于新域之后,我将文件复制到/ etc / ssl / private和/ etc / ssl / certs文件夹中,并更新了apache conf文件。尝试重新启动apache时,显示以下错误消息:
SSL库错误:错误:0906D06C:PEM例程:PEM_read_bio:无起始行(预期:受信任的证书)-文件内容或格式错误-甚至只是被遗忘的SSLCertificateKeyFile?
我到目前为止运行过的Bash命令(我省略了域名):
openssl genrsa -des3 -out [domain].key 2048
openssl rsa -in star.[domain].key -out star.[domain].key.insecure
mv star.[domain].key star.[domain].key.secure
mv star.[domain].key.insecure star.[domain].key
openssl req -new -key star.[domain].key -out star.[domain].csr
当在创建中请求我们的域时,输入*。[domain],而不是star。[domain],因为这是我们提供程序所要求的。然后,我们将csr文件发送给我们的提供商,并收到了我们的.cer回信。
我将.cer复制到/etc/ssl/certs/star.[domain].cer和/etc/ssl/private/star.[domain].key,然后更新了apache conf文件[subdomain]。[domain ] .conf与以下内容:
ServerAdmin IT@[domain]
ServerName [subdomain].[domain]
ServerAlias [subdomain].[domain]
SSLCertificateFile /etc/ssl/certs/star.[domain].cer
SSLCertificateKeyFile /etc/ssl/private/star.[domain].key
保存并重新启动apache之后(service apache2 restart,出现上述错误。
我最终解决了这个问题。 Cert以pkcs7格式编码,Ubuntu不喜欢。我使用以下命令将证书转换为PEM,现在一切正常并运行。
openssl pkcs7 -print_certs -in certificate.cer -out certificate.pem