ruby-on-rails – 使用OpenSSL在证书文件中读取Ruby错误

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 使用OpenSSL在证书文件中读取Ruby错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想做一个简单的事情
OpenSSL的:: X509 :: Certificate.new(File.read( “testuser.p12”))
来自irb与 ruby 1.8.7(或1.9.2),两者的结果相同.我得到的错误是OpenSSL :: X509 :: CertificateError:嵌套asn1错误

这是一个ruby问题,还是这表明证书本身是错误的?我发现一些类似的报告围绕亚马逊证书展示了这些错误,结果证明是证书本身.它虽然在浏览器中工作.关于如何解决这个问题的建议?

解决方法

根据后缀,“testuser.p12”似乎是PKCS#12文件.将PKCS#12格式读取为X.509证书格式会导致ASN.1解码错误.

你应该改为使用OpenSSL :: PKCS12.new(File.read(“testuser.p12”)).如果文件受密码保护(这是正常的),请将密码作为PKCS12.new的第二个参数,如OpenSSL :: PKCS12.new(File.read(“testuser.p12”),“pass”)

您可以通过PKCS12#certificate和PKCS12 #ca_certs方法提取证书和CA证书.

p12 = OpenSSL::PKCS12.new(File.read("testuser.p12"),"pass")
p p12.certificate
p p12.ca_certs

猜你在找的Ruby相关文章