我正在尝试编写一些ruby代码来从Web服务器的SSL证书中获取Common Name(CN)值,但似乎没有任何简单的方法可以在ruby中执行此操作。
答案 0 :(得分:2)
require 'openssl'
raw_cert = File.read (path_to_your_cert) # if your cert is in PEM or DER format
OR
raw_cert = OpenSSL::PKCS12.new(File.read(path_to_your_cert), your_pwd) # If you want to read a .p12 cert
cert = OpenSSL::X509::Certificate.new(raw_cert)
cert.subject
=> **************/CN=<Your Common Name>/***************
因此,您可以解析cert.subject以找出所需的通用名称。
您可以在http://ruby-doc.org/stdlib-2.0/libdoc/openssl/rdoc/OpenSSL/X509/Certificate.html
上详细了解SSL证书