我的网站证书刚刚过期,从阿里云买了一个新的(免费)证书,下载了一个server.pem
文件又一个server.key
文件。
然后,我使用openssl x509 -outform der -in server.pem -out server.crt
创建server.crt
文件。然后openssl x509 -noout -text -in server.crt
返回一个错误:
unable to load certificate
4562605504:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
我也在server.crt
生产中尝试过,但就是不起作用。
有人知道如何正确生成.crt
文件吗?
答案1
可能您不应该使用这些 openssl 命令生成任何东西,而应该使用server.pem
您收到的原文件。
在文本编辑器中打开该文件。如果该文件的第一行是:
-----BEGIN CERTIFICATE-----
然后您就可以不加修改地使用它。您可能需要做的唯一一件事就是附加任何中间证书,具体取决于您的 Web 服务器。
答案2
我认为您无法读取 server.crt 文件,因为应用了加密 (-outform der)。您可以在没有此指令的情况下生成 crt 文件。@see:https://superuser.com/a/1016068/1208395