6

こんにちは。これを読んでくれてありがとう。

証明書を持っている自分の CA によって発行された証明書を検証する必要があります。opensslと同等のことを行うにはどうすればよいですか

openssl 検証 -CAfile

Rubyコードで?この点では、OpenSSL の RDoc はあまり役に立ちません。私はもう試した:

「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:`verify' で: 間違った引数 (OpenSSL::X509::Certificate)!
(予想される OpenSSL::PKey::PKey の種類) (TypeError)
  test.rb:7 から

http://www.ruby-doc.org/stdlib/libdoc/openssl/rdoc/index.htmlの OpenSSL Rdoc で「検証」を見つけることさえできません 。

どんな助けでも大歓迎です。再度、感謝します!

4

2 に答える 2

2

lic.verify()licに署名した証明書からのキーのみを確認します。商用ルートCAは、エンドユーザー証明書に直接署名しません。通常、1つまたは2つの中間署名証明書が関係します。

だからもしそうCA -> signer -> user certなら

lic.verify( signer.public_key)そしてsigner.verify( CA.public_key)trueを返しますが、lic.verify( CA.public_key )falseを返します。

于 2010-05-10T13:40:04.107 に答える