簡體   English   中英

使用OpenSSL在證書文件中讀取Ruby錯誤

[英]Ruby Error reading in Certificate File with OpenSSL

我試圖從irb與ruby 1.8.7(或1.9.2)做一個簡單的OpenSSL::X509::Certificate.new(File.read("testuser.p12")) ,兩者的結果相同。 我得到的錯誤是OpenSSL::X509::CertificateError: nested asn1 error

這是一個紅寶石問題,還是這表明證書本身是錯誤的? 我發現一些類似的報告圍繞亞馬遜證書展示了這些錯誤,結果證明是證書本身。 它雖然在瀏覽器中工作。 關於如何解決這個問題的建議?

根據后綴,“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#certificatePKCS12#ca_certs方法提取證書和CA證書。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM