Class: SSLyze::Certificate::Extensions

Inherits:
Object
  • Object
show all
Defined in:
lib/sslyze/certificate/extensions.rb,
lib/sslyze/certificate/extensions/extension.rb,
lib/sslyze/certificate/extensions/x509v3_key_usage.rb,
lib/sslyze/certificate/extensions/x509v3_basic_constraints.rb,
lib/sslyze/certificate/extensions/x509v3_extended_key_usage.rb,
lib/sslyze/certificate/extensions/x509v3_certificate_policies.rb,
lib/sslyze/certificate/extensions/authority_information_access.rb,
lib/sslyze/certificate/extensions/x509v3_crl_distribution_points.rb,
lib/sslyze/certificate/extensions/x509v3_subject_alternative_name.rb

Overview

Represents the <extensions> XML element.

Defined Under Namespace

Classes: AuthorityInformationAccess, Extension, X509v3BasicConstraints, X509v3CRLDistributionPoints, X509v3CertificatePolicies, X509v3ExtendedKeyUsage, X509v3KeyUsage, X509v3SubjectAlternativeName

Instance Method Summary collapse

Constructor Details

#initialize(node) ⇒ Extensions

Initializes the extensions.

Parameters:

  • node (Nokogiri::XML::Node)

    The <extensions> XML element.



22
23
24
# File 'lib/sslyze/certificate/extensions.rb', line 22

def initialize(node)
  @node = node
end

Instance Method Details

#authority_information_accessAuthorityInformationAccess?

The authority information access.

Returns:



42
43
44
45
46
# File 'lib/sslyze/certificate/extensions.rb', line 42

def authority_information_access
  @authority_information_access ||= if (node = @node.at('AuthorityInformationAccess'))
                                      AuthorityInformationAccess.new(node)
                                    end
end

#x509v3_authority_key_identifierString?

x509v3 authority key identifier.

Returns:

  • (String, nil)


108
109
110
111
112
# File 'lib/sslyze/certificate/extensions.rb', line 108

def x509v3_authority_key_identifier
  @x509v3_authority_key_identifier ||= if (node = @node.at('X509v3AuthorityKeyIdentifier'))
                                         node.inner_text
                                       end
end

#x509v3_basic_constraintsX509v3BasicConstraints?

The x509v3 basic constraints.

Returns:



64
65
66
67
68
# File 'lib/sslyze/certificate/extensions.rb', line 64

def x509v3_basic_constraints
  @x509v3_basic_constraints ||= if (constraints = @node.at('X509v3BasicConstraints'))
                                  X509v3BasicConstraints.new(constraints)
                                end
end

#x509v3_certificate_policiesX509v3CertificatePolicies?

x509v3 certificate policies.

Returns:



119
120
121
122
123
# File 'lib/sslyze/certificate/extensions.rb', line 119

def x509v3_certificate_policies
  @x509v3_certificate_policies ||= if (node = @node.at('X509v3CertificatePolicies'))
                                     X509v3CertificatePolicies.new(node)
                                   end
end

#x509v3_crl_distribution_pointsX509v3CRLDistributionPoints?

The x509v3 CRL Distribution Points.

Returns:



53
54
55
56
57
# File 'lib/sslyze/certificate/extensions.rb', line 53

def x509v3_crl_distribution_points
  @x509v3_crl_distribution_points ||= if (node = @node.at('X509v3CRLDistributionPoints'))
                                        X509v3CRLDistributionPoints.new(node)
                                      end
end

#x509v3_extended_key_usageX509v3ExtendedKeyUsage?

x509v3 extended key usage.

Returns:



86
87
88
89
90
# File 'lib/sslyze/certificate/extensions.rb', line 86

def x509v3_extended_key_usage
  @x509v3_extended_key_usage ||= if (node = @node.at('X509v3ExtendedKeyUsage'))
                                   X509v3ExtendedKeyUsage.new(node)
                                 end
end

#x509v3_key_usageX509v3KeyUsage?

x509v3 key usage.

Returns:



75
76
77
78
79
# File 'lib/sslyze/certificate/extensions.rb', line 75

def x509v3_key_usage
  @x509v3_key_usage ||= if (node = @node.at('X509v3KeyUsage'))
                          X509v3KeyUsage.new(node)
                        end
end

#x509v3_subject_alternative_nameX509v3SubjectAlternativeName?

x509v3 subject alternative name.



97
98
99
100
101
# File 'lib/sslyze/certificate/extensions.rb', line 97

def x509v3_subject_alternative_name
  @x509v3_subject_alternative_name ||= if (node = @node.search('X509v3SubjectAlternativeName'))
                                         X509v3SubjectAlternativeName.new(node)
                                       end
end

#x509v3_subject_key_identifierString?

The x509v3 subject key identifier information.

Returns:

  • (String, nil)


31
32
33
34
35
# File 'lib/sslyze/certificate/extensions.rb', line 31

def x509v3_subject_key_identifier
  @x509v3_subject_key_identifier ||= if (node = @node.at('X509v3SubjectKeyIdentifier'))
                                       node.inner_text
                                     end
end