タケユー・ウェブ日報

Webシステム受託会社の業務の中での気づきや調べごとのメモ。

Ruby で SSLサーバ証明書の内容を確認する

cert_content = <<EOF
-----BEGIN CERTIFICATE-----
dummy
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
dummy
-----END CERTIFICATE-----
EOF

pkey_content = <<EOF
-----BEGIN EC PARAMETERS-----
dummy
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
dummy
-----END EC PRIVATE KEY-----
EOF

cert = OpenSSL::X509::Certificate.new(cert_content)
pkey = OpenSSL::PKey::EC.new(pkey_content)

# 秘密鍵が正しいか?
cert.check_private_key(pkey) # => true

# コモンネームが期待したものか?
cert.subject.to_a.find { |name, _| name == 'CN' }.fetch(1) #=> "*.takeyuweb.co.jp"

docs.ruby-lang.org

docs.ruby-lang.org