class CertificateAuthority::Extensions::SubjectAlternativeName

Specifies additional “names” for which this certificate is valid. Reference: Section 4.2.1.7 of RFC3280 tools.ietf.org/html/rfc3280#section-4.2.1.7

Constants

OPENSSL_IDENTIFIER

Attributes

critical[RW]
dns_names[RW]
emails[RW]
ips[RW]
uris[RW]

Public Class Methods

new() click to toggle source
# File vendor/certificate_authority/lib/certificate_authority/extensions.rb, line 413
def initialize
  @critical = false
  @uris = []
  @dns_names = []
  @ips = []
  @emails = []
end
parse(value, critical) click to toggle source
# File vendor/certificate_authority/lib/certificate_authority/extensions.rb, line 458
def self.parse(value, critical)
  obj = self.new
  return obj if value.nil?
  obj.critical = critical
  value.split(/,\s*/).each do |v|
    c = v.split(':', 2)
    obj.uris << c.last if c.first == "URI"
    obj.dns_names << c.last if c.first == "DNS"
    obj.ips << c.last if c.first == "IP"
    obj.emails << c.last if c.first == "EMAIL"
  end
  obj
end

Public Instance Methods

==(o) click to toggle source
# File vendor/certificate_authority/lib/certificate_authority/extensions.rb, line 454
def ==(o)
  o.class == self.class && o.state == state
end
dns_names=(value) click to toggle source
# File vendor/certificate_authority/lib/certificate_authority/extensions.rb, line 430
def dns_names=(value)
  raise "DNS names must be an array" unless value.is_a?(Array)
  @dns_names = value
end
emails=(value) click to toggle source
# File vendor/certificate_authority/lib/certificate_authority/extensions.rb, line 440
def emails=(value)
  raise "Emails must be an array" unless value.is_a?(Array)
  @emails = value
end
ips=(value) click to toggle source
# File vendor/certificate_authority/lib/certificate_authority/extensions.rb, line 435
def ips=(value)
  raise "IPs must be an array" unless value.is_a?(Array)
  @ips = value
end
openssl_identifier() click to toggle source
# File vendor/certificate_authority/lib/certificate_authority/extensions.rb, line 421
def openssl_identifier
  OPENSSL_IDENTIFIER
end
to_s() click to toggle source
# File vendor/certificate_authority/lib/certificate_authority/extensions.rb, line 445
def to_s
  res = []
  res += @uris.map {|u| "URI:#{u}" }
  res += @dns_names.map {|d| "DNS:#{d}" }
  res += @ips.map {|i| "IP:#{i}" }
  res += @emails.map {|i| "email:#{i}" }
  res.join(',')
end
uris=(value) click to toggle source
# File vendor/certificate_authority/lib/certificate_authority/extensions.rb, line 425
def uris=(value)
  raise "URIs must be an array" unless value.is_a?(Array)
  @uris = value
end

Protected Instance Methods

state() click to toggle source
# File vendor/certificate_authority/lib/certificate_authority/extensions.rb, line 473
def state
  [@critical,@uris,@dns_names,@ips,@emails]
end