class SSLyze::X509::Name
Wrapper object for [OpenSSL::X509::Name].
[1]: www.rubydoc.info/stdlib/openssl/OpenSSL/X509/Name
@since 1.0.0
Attributes
The parsed entries of the name.
@return [Array<(String, String, Integer)>]
Public Class Methods
@param [OpenSSL::X509::Name] name
The OpenSSL X509 name object.
# File lib/sslyze/x509/name.rb, line 29 def initialize(name) @name = name @entries = name.to_a end
Public Instance Methods
Finds the entry with the matcing OID (Object IDentifier).
@param [String] key
@return [String, nil]
# File lib/sslyze/x509/name.rb, line 61 def [](key) each do |oid,value,type| return value if oid == key end return nil end
@see www.rubydoc.info/stdlib/openssl/OpenSSL/X509/Name#cmp-instance_method
# File lib/sslyze/x509/name.rb, line 156 def cmp(other) @name.cmp(other.name) end
The Common Name
(`CN`) entry.
@return [Domain]
# File lib/sslyze/x509/name.rb, line 86 def common_name @common_name ||= Domain.new(self['CN']) end
The Country (`C`) entry.
@return [String]
# File lib/sslyze/x509/name.rb, line 74 def country_name @country_name ||= self['C'] end
The Domain
Component (`DC`) entry.
@return [String, nil]
# File lib/sslyze/x509/name.rb, line 97 def domain_component @domain_component ||= self['DC'] end
Enumerates over the entries.
@yield [oid, value, type]
@yieldparam [String] oid
The Object IDentifier.
@yieldparam [String] value
The entry's value.
@yieldparam [Integer] type
The entry type.
# File lib/sslyze/x509/name.rb, line 48 def each(&block) @entries.each do |(oid,value,type)| yield oid, value, type end end
@see www.rubydoc.info/stdlib/openssl/OpenSSL/X509/Name#eql%3F-instance_method
# File lib/sslyze/x509/name.rb, line 163 def eql?(other) @name.eql?(other.name) end
The Location (`L`) entry.
@return [String, nil]
# File lib/sslyze/x509/name.rb, line 146 def location_name @location ||= self['L'] end
The Organization Name
(`O`) entry.
@return [String]
# File lib/sslyze/x509/name.rb, line 108 def organization_name @organization_name ||= self['O'] end
The Organization Unit Name
(`OU`) entry.
@return [String]
# File lib/sslyze/x509/name.rb, line 120 def organizational_unit_name @organizational_unit_name ||= self['OU'] end
The State/Province Name
(`ST`) entry.
@return [String, nil]
# File lib/sslyze/x509/name.rb, line 132 def state_name @state_name ||= self['ST'] end
@see www.rubydoc.info/stdlib/openssl/OpenSSL/X509/Name#to_a-instance_method
# File lib/sslyze/x509/name.rb, line 170 def to_a @name.to_a end
@see www.rubydoc.info/stdlib/openssl/OpenSSL/X509/Name#to_der-instance_method
# File lib/sslyze/x509/name.rb, line 177 def to_der @name.to_der end
@see www.rubydoc.info/stdlib/openssl/OpenSSL/X509/Name#to_s-instance_method
# File lib/sslyze/x509/name.rb, line 184 def to_s(*args) @name.to_s(*args) end