无法打开 SSL 私钥 [预期:可信证书]
Unable to open SSL private key [Expecting: TRUSTED CERTIFICATE]
我使用 Let's Encrypt 生成了 SSL 证书,他们生成了文件:
cert.pem | chain.pem | fullchain.pem | privkey.key | privkey.pem
使用以下命令我可以成功打开所有文件除了privkey.key和privkey.pem:
openssl x509 -in [filename]
这是错误信息:
unable to load certificate 140505945014720:error:0909006C:PEM
routines:get_name:no start line:../crypto/pem/pem_lib.c:745:Expecting:
TRUSTED CERTIFICATE
Some articles 建议我们需要使用以下命令转换为 .der 扩展名,但仍然存在相同的错误 ('unable to load'):
openssl x509 -in privkey.pem -outform der -out privkey.der
私钥不是证书,x509
是证书。如果您愿意,请参阅 https://www.openssl.org/docs/man1.1.1/man1/x509.html 了解有关 x509
可以做什么的信息。
要查看私钥,您需要pkey
。
https://www.openssl.org/docs/man1.1.1/man1/openssl-pkey.html
Some articles suggest that we need to convert to .der extension
可能这样解决了具有相同错误消息的不同问题。它会在任何时候 openssl x509
尝试读取无效输入时显示:
$ openssl x509 <<<"not a cert"
unable to load certificate
140736021758920:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:697:Expecting: TRUSTED CERTIFICATE
未来的读者,注意不要追鸿雁。该特定消息基本上意味着“提供的证书无效”,但如果您搜索它,您会在网上看到很多关于如何修复 your cert 的信息,这在每一个案例。因此,如果您看到此错误,您必须真正放慢速度并查看发生了什么。 x509
某些证书格式必须更改为不同的格式,这是绝对正确的。但是所有的错误都是一样的。
郑重声明,文件名“扩展名”在 unix 命令行中基本上没有意义。 openssl x509
不会基于最后一个 .
之后的文件名部分,大多数其他程序也不会(一个值得注意的例外是 vim
,如果启用,它使用它来猜测语法突出显示)。但是,如果您想从 PEM 转换为 DER 或任何其他文件格式,那不是重命名文件,而是更改其内容 - 很可能是另一个 openssl
调用。重要的不是你给它们起什么名字,而是里面有什么。
我使用 Let's Encrypt 生成了 SSL 证书,他们生成了文件:
cert.pem | chain.pem | fullchain.pem | privkey.key | privkey.pem
使用以下命令我可以成功打开所有文件除了privkey.key和privkey.pem:
openssl x509 -in [filename]
这是错误信息:
unable to load certificate 140505945014720:error:0909006C:PEM routines:get_name:no start line:../crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
Some articles 建议我们需要使用以下命令转换为 .der 扩展名,但仍然存在相同的错误 ('unable to load'):
openssl x509 -in privkey.pem -outform der -out privkey.der
私钥不是证书,x509
是证书。如果您愿意,请参阅 https://www.openssl.org/docs/man1.1.1/man1/x509.html 了解有关 x509
可以做什么的信息。
要查看私钥,您需要pkey
。
https://www.openssl.org/docs/man1.1.1/man1/openssl-pkey.html
Some articles suggest that we need to convert to .der extension
可能这样解决了具有相同错误消息的不同问题。它会在任何时候 openssl x509
尝试读取无效输入时显示:
$ openssl x509 <<<"not a cert"
unable to load certificate
140736021758920:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:697:Expecting: TRUSTED CERTIFICATE
未来的读者,注意不要追鸿雁。该特定消息基本上意味着“提供的证书无效”,但如果您搜索它,您会在网上看到很多关于如何修复 your cert 的信息,这在每一个案例。因此,如果您看到此错误,您必须真正放慢速度并查看发生了什么。 x509
某些证书格式必须更改为不同的格式,这是绝对正确的。但是所有的错误都是一样的。
郑重声明,文件名“扩展名”在 unix 命令行中基本上没有意义。 openssl x509
不会基于最后一个 .
之后的文件名部分,大多数其他程序也不会(一个值得注意的例外是 vim
,如果启用,它使用它来猜测语法突出显示)。但是,如果您想从 PEM 转换为 DER 或任何其他文件格式,那不是重命名文件,而是更改其内容 - 很可能是另一个 openssl
调用。重要的不是你给它们起什么名字,而是里面有什么。