Class: R509::Cert::Extensions::CRLDistributionPoints

Inherits:
OpenSSL::X509::Extension
  • Object
show all
Includes:
GeneralNamesMixin, ValidationMixin
Defined in:
lib/r509/cert/extensions/crl_distribution_points.rb

Overview

RFC 5280 Description (see: www.ietf.org/rfc/rfc5280.txt)

The CRL distribution points extension identifies how CRL information is obtained. The extension SHOULD be non-critical, but this profile RECOMMENDS support for this extension by CAs and applications. Further discussion of CRL management is contained in Section 5.

You can use this extension to parse an existing extension for easy access to the contents or create a new one.

Constant Summary

OID =

friendly name for CDP OID

"crlDistributionPoints"

Instance Method Summary collapse

Constructor Details

#initialize(arg) ⇒ CRLDistributionPoints

This method takes a hash or an existing Extension object to parse.

Examples:

R509::Cert::Extensions::CRLDistributionPoints.new(
  :value => [
    { :type => "URI", :value => "http://crl.domain.com/test.crl" }
)
name = R509::ASN1::GeneralName.new(:type => "URI", :value => "http://crl.domain.com/test.crl")
R509::Cert::Extensions::CRLDistributionPoints.new(
  :value => [name]
)

Parameters:

  • arg (Hash)

    a customizable set of options

Options Hash (arg):

  • :value (Array, R509::ASN1::GeneralNames)

    Array of hashes (see examples) or GeneralNames object

  • :critical (Boolean) — default: false


38
39
40
41
42
43
44
45
# File 'lib/r509/cert/extensions/crl_distribution_points.rb', line 38

def initialize(arg)
  unless R509::Cert::Extensions.is_extension?(arg)
    arg = build_extension(arg)
  end

  super(arg)
  parse_extension
end

Instance Method Details

#directory_namesArray<R509::Subject> Also known as: dir_names Originally defined in module GeneralNamesMixin

Returns directory names

Returns:

#dns_namesArray<String> Originally defined in module GeneralNamesMixin

Returns DNS names

Returns:

  • (Array<String>)

    DNS names

#ip_addressesArray<String> Also known as: ips Originally defined in module GeneralNamesMixin

Returns IP addresses. They will be formatted as strings (dotted quad with optional netmask for IPv4 and colon-hexadecimal with optional netmask for IPv6

Returns:

  • (Array<String>)

    IP addresses. They will be formatted as strings (dotted quad with optional netmask for IPv4 and colon-hexadecimal with optional netmask for IPv6

#namesArray Originally defined in module GeneralNamesMixin

Returns array of GeneralName objects preserving order found in the extension

Returns:

  • (Array)

    array of GeneralName objects preserving order found in the extension

#rfc_822_namesArray<String> Also known as: email_names Originally defined in module GeneralNamesMixin

Returns email addresses

Returns:

  • (Array<String>)

    email addresses

#to_hHash

Returns:

  • (Hash)


48
49
50
51
52
53
# File 'lib/r509/cert/extensions/crl_distribution_points.rb', line 48

def to_h
  {
    :critical => self.critical?,
    :value => R509::Cert::Extensions.names_to_h(@general_names.names)
  }
end

#to_yamlYAML

Returns:

  • (YAML)


56
57
58
# File 'lib/r509/cert/extensions/crl_distribution_points.rb', line 56

def to_yaml
  self.to_h.to_yaml
end

#urisArray<String> Originally defined in module GeneralNamesMixin

Returns URIs (not typically found in SAN extensions)

Returns:

  • (Array<String>)

    URIs (not typically found in SAN extensions)