ruby – 来自自己CA的OpenSSL验证证书

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

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

openssl verify -CAfile

在@L_502_0@代码在这方面,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

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

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

解决方法

你需要验证
lic.verify(ca.public_key)

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

lic.issuer.to_s == ca.subject.to_s

我使用一个Japanese help page获取可用方法列表:)

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...