Ubuntu 无法打开SSL私钥[应为:受信任证书]

Ubuntu 无法打开SSL私钥[应为:受信任证书],ubuntu,openssl,lets-encrypt,Ubuntu,Openssl,Lets Encrypt,我使用Let's Encrypt生成了SSL证书,他们生成了以下文件: cert.pem | chain.pem | fullchain.pem | privkey.key | privkey.pem 使用以下命令,我可以成功打开除privkey.key和privkey.pem之外的所有文件: 这是错误消息: 无法加载证书140505945014720:错误:0909006C:PEM 例程:get_name:无起始行:../crypto/pem/pem_lib.c:745:应为: 可信证书 建议

我使用Let's Encrypt生成了SSL证书,他们生成了以下文件:

cert.pem | chain.pem | fullchain.pem | privkey.key | privkey.pem

使用以下命令,我可以成功打开除privkey.key和privkey.pem之外的所有文件:

这是错误消息:

无法加载证书140505945014720:错误:0909006C:PEM 例程:get_name:无起始行:../crypto/pem/pem_lib.c:745:应为: 可信证书

建议我们需要使用下面的命令转换为.der扩展名,但相同的错误仍然是“无法加载”:

openssl x509 -in privkey.pem -outform der -out privkey.der

私钥不是证书,x509用于证书。如果您愿意,请参阅以获取有关x509可以做什么的信息

要查看私钥,您需要pkey

一些文章建议我们需要转换为.der扩展名

可能是这样,用相同的错误消息解决不同的问题。每当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
未来的读者们,注意不要追逐野鹅。这条消息基本上意味着提供的证书无效,但如果你搜索它,你会在网上看到很多关于如何修复你的证书的信息,这些信息在任何情况下都不相同。所以,如果你看到这个错误,你必须放慢速度,看看发生了什么。对于x509,某些证书格式必须更改为不同的格式,这是绝对正确的。但所有的错误都是一样的


请注意,文件扩展名在unix命令行中基本上没有意义。openssl x509不基于文件名最后一个字符之后的部分。大多数其他程序也不例外,一个显著的例外是vim,它使用它来猜测语法高亮显示(如果启用)。但是,如果您想从PEM转换为DER或任何其他文件格式,那不是重命名文件,而是更改其内容——很可能是通过另一个openssl调用。这不是你给他们起的名字,而是他们的内心

私钥不是证书,x509用于证书。如果您愿意,请参阅以获取有关x509可以做什么的信息

要查看私钥,您需要pkey

一些文章建议我们需要转换为.der扩展名

可能是这样,用相同的错误消息解决不同的问题。每当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
未来的读者们,注意不要追逐野鹅。这条消息基本上意味着提供的证书无效,但如果你搜索它,你会在网上看到很多关于如何修复你的证书的信息,这些信息在任何情况下都不相同。所以,如果你看到这个错误,你必须放慢速度,看看发生了什么。对于x509,某些证书格式必须更改为不同的格式,这是绝对正确的。但所有的错误都是一样的


请注意,文件扩展名在unix命令行中基本上没有意义。openssl x509不基于文件名最后一个字符之后的部分。大多数其他程序也不例外,一个显著的例外是vim,它使用它来猜测语法高亮显示(如果启用)。但是,如果您想从PEM转换为DER或任何其他文件格式,那不是重命名文件,而是更改其内容——很可能是通过另一个openssl调用。这不是你给他们起的名字,而是他们的内心

多谢各位。所以正确的方法是“opensslpkey-in privkey.pem”,谢谢。所以正确的方法是“opensslpkey-in privkey.pem”