使用OpenSSL在证书文件中读取Ruby错误
我试图从irb与ruby 1.8.7(或1.9.2)做一个简单的OpenSSL::X509::Certificate.new(File.read("testuser.p12"))
,两者的结果相同。 我得到的错误是OpenSSL::X509::CertificateError: nested asn1 error
这是一个ruby问题,还是这表明证书本身格式不正确? 我发现一些类似的报告围绕亚马逊证书展示了这些错误,结果certificate是证书本身。 它虽然在浏览器中工作。 关于如何解决这个问题的建议?
根据后缀,“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
- uninitialized constant> ActionCable :: Server :: Configuration :: ApplicationCable
- 在gets()中从Ruby中损坏的TCP套接字恢复
- 如何在Ubuntu上更改OPENSSLDIR?
- 使用JS中的SJCL和Ruby中的OpenSSL进行椭圆曲线加密
- CSR失败:错误解析请求ASN1错误标记值已满足(ASN:267 CRYPT_E_ASN1_BADTAG)
- 使用Ruby on Rails签署iPhone配置XML配置文件
- 连接到Paypal时,OpenSSL :: SSL :: SSLError(SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书validation失败)
- 为什么本站点的ECC-DH对称密钥与OpenSSL不同
- openssl smime in ruby / rails
- 如何在Ruby中以hex执行Triple DES计算?
- OpenSSL :: X509 ::显示错误域名证书的证书