Module: SamlIdp::Fingerprint

Defined in:
lib/saml_idp/fingerprint.rb

Class Method Summary collapse

Class Method Details

.certificate_digest(cert, sha_size = nil) ⇒ Object



3
4
5
6
# File 'lib/saml_idp/fingerprint.rb', line 3

def self.certificate_digest(cert, sha_size = nil)
  sha_size ||= SamlIdp.config.algorithm
  digest_sha_class(sha_size).hexdigest(OpenSSL::X509::Certificate.new(cert).to_der).scan(/../).join(':')
end

.digest_sha_class(sha_size) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/saml_idp/fingerprint.rb', line 8

def self.digest_sha_class(sha_size)
  case sha_size
  when :sha256
    Digest::SHA256
  when :sha512
    Digest::SHA512
  else
    raise ArgumentError, "Unsupported sha size parameter: #{sha_size}"
  end
end