Class: SSLyze::Certificate::SubjectPublicKeyInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/sslyze/certificate/subject_public_key_info.rb

Overview

Represents the <subjectPublicKeyInfo> XML element.

Instance Method Summary collapse

Constructor Details

#initialize(node) ⇒ SubjectPublicKeyInfo

Initializes the subject public key info.

Parameters:

  • node (Nokogiri::XML::Node)

    The <subjectPublicKeyInfo> XML element.



16
17
18
# File 'lib/sslyze/certificate/subject_public_key_info.rb', line 16

def initialize(node)
  @node = node
end

Instance Method Details

#public_keyPublicKey

Public key info.

Returns:



25
26
27
28
29
30
# File 'lib/sslyze/certificate/subject_public_key_info.rb', line 25

def public_key
  @public_key ||= PublicKey.new(
    @node.at('publicKey/modulus').inner_text,
    @node.at('publicKey/exponent').inner_text.to_i
  )
end

#public_key_algorithmString

Public key algorithm.

Returns:

  • (String)


37
38
39
# File 'lib/sslyze/certificate/subject_public_key_info.rb', line 37

def public_key_algorithm
  @public_key_algorithm ||= @node.at('publicKeyAlgorithm').inner_text
end

#public_key_sizeInteger

Public key size.

Returns:

  • (Integer)

    The key size in bits.



47
48
49
# File 'lib/sslyze/certificate/subject_public_key_info.rb', line 47

def public_key_size
  @public_key_size ||= @node.at('publicKeySize').inner_text.chomp(' bits').to_i
end