【发布时间】:2016-02-10 01:46:11
【问题描述】:
证书使用 Ubuntu 的证书查看器打开并显示基本属性,但使用 openssl 检查失败:
openssl x509 -in client.pem -text -noout
unable to load certificate
140037204108960:error:0D0C40D8:asn1 encoding routines:c2i_ASN1_OBJECT:invalid object encoding:a_object.c:303:
140037204108960:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:772:Field=algorithm, Type=X509_ALGOR
140037204108960:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:772:Field=signature, Type=X509_CINF
140037204108960:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:772:Field=cert_info, Type=X509
140037204108960:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib:pem_oth.c:83:
我认为脚本缺少一些必需的属性(算法、签名、cert_info?),但我不知道如何添加它们。
好的,这个问题的具体答案看起来是因为我没有在脚本中签署证书。添加后
cert.sign(ca_key, OpenSSL::Digest::SHA256.new)
我得到一个不同的错误
unable to load certificate
140072361658000:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:701:Expecting: TRUSTED CERTIFICATE
【问题讨论】:
-
您是如何生成证书的?您使用的是什么版本的 OpenSSL?
-
OpenSSL 1.0.2d 2015 年 7 月 9 日 - 我认为“问题”是该脚本从未签署过证书。在阅读了 ruby-doc 上的示例后,我现在得到以下信息:140072361658000:error:0906D06C:PEMroutines:PEM_read_bio:no start line:pem_lib.c:701:Expecting: TRUSTED CERTIFICATE
-
好的,最终答案是我没有在脚本中正确签名。第二条错误消息是脚本发送的响应是 unicode 并且在我剪切和粘贴时被解释错误。对不起,错误的踪迹。
标签: ruby openssl ssl-certificate pki