OpenSSL从自己的CA验证证书

Bru*_*nes 6 ruby openssl x509certificate2

各位大家好,感谢您抽出宝贵时间阅读本文.

我需要验证我自己的CA颁发的证书,我有证书.我该怎么做相当于openssl的

openssl verify -CAfile

在Ruby代码?在这方面,OpenSSL的RDoc不是很有帮助.我试过了:

require 'openssl'

ca = OpenSSL::X509::Certificate.new(File.read('ca-cert.pem'))

lic = OpenSSL::X509::Certificate.new(File.read('cert.pem'))

puts lic.verify( ca )

但我得到:

test.rb:7:in `verify': wrong argument (OpenSSL::X509::Certificate)!
(Expected kind of OpenSSL::PKey::PKey) (TypeError)
  from test.rb:7

我甚至无法在http://www.ruby-doc.org/stdlib/libdoc/openssl/rdoc/index.html的OpenSSL Rdoc中找到"验证" .

任何帮助表示赞赏.再次感谢!

Rai*_*kis 8

你需要验证

lic.verify(ca.public_key)
Run Code Online (Sandbox Code Playgroud)

此外,您可以验证证书颁发者

lic.issuer.to_s == ca.subject.to_s
Run Code Online (Sandbox Code Playgroud)

我使用了一个日语帮助页面来获取可用方法列表:)