Class: SSLyze::Certificate
- Inherits:
-
Object
- Object
- SSLyze::Certificate
- Defined in:
- lib/sslyze/certificate.rb,
lib/sslyze/certificate/issuer.rb,
lib/sslyze/certificate/subject.rb,
lib/sslyze/certificate/validity.rb,
lib/sslyze/certificate/extensions.rb,
lib/sslyze/certificate/public_key.rb,
lib/sslyze/certificate/domain_name.rb,
lib/sslyze/certificate/extensions/extension.rb,
lib/sslyze/certificate/subject_public_key_info.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 <certificate> XML element.
Defined Under Namespace
Classes: DomainName, Extensions, Issuer, PublicKey, Subject, SubjectPublicKeyInfo, Validity
Instance Method Summary collapse
-
#as_pem ⇒ String
The AS PEM information.
-
#extensions ⇒ Extensions
The SSL extensions.
-
#initialize(node) ⇒ Certificate
constructor
Initializes the certificate.
-
#issuer ⇒ Issuer
The certificate issuer.
-
#position ⇒ :leaf, :intermediate
The position of the certificate within the cert chain.
-
#serial_number ⇒ String
The certificate serial number.
-
#sha1_fingerprint ⇒ String
The SHA1 fingerprint of the cert.
-
#signature_algorithm ⇒ String
The certificate signature algorithm.
-
#signature_value ⇒ String
The certificate signature.
-
#subject ⇒ Subject
The certificate subject information.
-
#subject_public_key_info ⇒ SubjectPublicKeyInfo
The subject public key information.
-
#validity ⇒ Validity
The certificate validity.
-
#version ⇒ Integer
The certificate SSL version.
Constructor Details
#initialize(node) ⇒ Certificate
Initializes the certificate.
21 22 23 |
# File 'lib/sslyze/certificate.rb', line 21 def initialize(node) @node = node end |
Instance Method Details
#as_pem ⇒ String
The AS PEM information.
48 49 50 |
# File 'lib/sslyze/certificate.rb', line 48 def as_pem @as_pem ||= @node.at('asPEM').inner_text end |
#extensions ⇒ Extensions
The SSL extensions.
77 78 79 |
# File 'lib/sslyze/certificate.rb', line 77 def extensions @extensions ||= Extensions.new(@node.at('extensions')) end |
#issuer ⇒ Issuer
The certificate issuer.
134 135 136 |
# File 'lib/sslyze/certificate.rb', line 134 def issuer @issuer ||= Issuer.new(@node.at('issuer')) end |
#position ⇒ :leaf, :intermediate
The position of the certificate within the cert chain.
30 31 32 |
# File 'lib/sslyze/certificate.rb', line 30 def position @position ||= @node['position'].to_sym end |
#serial_number ⇒ String
The certificate serial number.
104 105 106 |
# File 'lib/sslyze/certificate.rb', line 104 def serial_number @serial_number ||= @node.at('serialNumber').inner_text end |
#sha1_fingerprint ⇒ String
The SHA1 fingerprint of the cert.
39 40 41 |
# File 'lib/sslyze/certificate.rb', line 39 def sha1_fingerprint @sha1_fingerprint ||= @node['sha1Fingerprint'] end |
#signature_algorithm ⇒ String
The certificate signature algorithm.
95 96 97 |
# File 'lib/sslyze/certificate.rb', line 95 def signature_algorithm @signature_algorithm ||= @node.at('signatureAlgorithm').inner_text end |
#signature_value ⇒ String
The certificate signature.
86 87 88 |
# File 'lib/sslyze/certificate.rb', line 86 def signature_value @signature_value ||= @node.at('signatureValue').inner_text end |
#subject ⇒ Subject
The certificate subject information.
113 114 115 |
# File 'lib/sslyze/certificate.rb', line 113 def subject @subject ||= Subject.new(@node.at('subject')) end |
#subject_public_key_info ⇒ SubjectPublicKeyInfo
The subject public key information.
57 58 59 60 61 |
# File 'lib/sslyze/certificate.rb', line 57 def subject_public_key_info @subject_public_key_info ||= SubjectPublicKeyInfo.new( @node.at('subjectPublicKeyInfo') ) end |
#validity ⇒ Validity
The certificate validity.
122 123 124 125 126 127 |
# File 'lib/sslyze/certificate.rb', line 122 def validity @validity ||= Validity.new( Date.parse(@node.at('validity/notAfter').inner_text), Date.parse(@node.at('validity/notBefore').inner_text) ) end |
#version ⇒ Integer
The certificate SSL version.
68 69 70 |
# File 'lib/sslyze/certificate.rb', line 68 def version @version ||= @node.at('version').inner_text.to_i end |