ssl:无法加载证书

时间:2016-04-12 06:37:16

标签: ssl certificate pem der

我有2个文件 - CSR.csr和newkey.key,两者似乎都是PEM格式,如下所示 -

$ openssl x509 -in CSR.csr -text -noout
unable to load certificate
140518720210760:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:698:Expecting: TRUSTED CERTIFICATE

当我尝试读取CSR.csr文件时,出现以下错误:

$ openssl x509 -inform DER -in CSR.csr -text -noout

我读到当输入文件是DER格式时我们得到这个错误,所以我尝试了以下 -

unable to load certificate
140519053051720:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1320:
140519053051720:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:382:Type=X509

但现在我收到了错误 -

sharad@ss:~$ cat my.tcl 
proc foo {str} {
    regexp {(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(:(\d+))?} $str all ip tmp port
    puts ip=$ip,port=$port
}
foo 192.168.1.1:44
foo 192.168.1.1
sharad@ss:~$ 


Output:
sharad@ss:~$ tclsh my.tcl 
ip=192.168.1.1,port=44
ip=192.168.1.1,port=
sharad@ss:~$ 

当输入文件已经是PEM格式并且尝试以DER格式读取它时,似乎会发生此错误。

因为我是SSL新手,所以真的很困惑。请帮忙!

2 个答案:

答案 0 :(得分:7)

问题不是PEM与DER,而是您在需要证书的地方使用证书请求。 PEM标题-----BEGIN CERTIFICATE REQUEST-----清楚地显示了这一点。

要显示证书申请的内容,请使用

openssl req -in CSR.csr -text

要显示证书的内容,请使用

openssl x509 -in CERT.crt -text

答案 1 :(得分:4)

就我而言,我试图读取cer文件并收到上述错误

  

openssl x509 -in CSR.csr -text -noout   无法加载证书   140518720210760:错误:0906D06C:PEM例程:PEM_read_bio:无起始行:pem_lib.c:698:正在期待:受信任的证书

我不得不使用openssl将其转换为crt文件。

openssl x509 -inform DER -in <certname>.cer -out <certname>.crt
openssl x509 -in <certname>.crt -text

Here's我使用的文档。之后我可以使用openssl读取它