使用Ruby SSL创建的证书无效

时间:2016-02-09 17:06:39

标签: ruby openssl ssl-certificate pki

证书随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

1 个答案:

答案 0 :(得分:1)

如果有人在将来看到这个问题,那么问题就是我没有签署证书,只是创建它。添加以下内容解决了这个问题。

cert.sign(ca_key, OpenSSL::Digest::SHA256.new)