Sha256: 8df8072e2123ba1f6170c0c8025e1231679e2b2d798b2091c96c5fe4781909f1

Contents?: true

Size: 863 Bytes

Versions: 5

Compression:

Stored size: 863 Bytes

Contents

autoload :OpenSSL, 'openssl'
autoload :CertificateAuthority, 'certificate_authority'

require 'digest'
require 'digest/md5'
require 'digest/sha1'

module LeapCli; module X509
  extend self

  #
  # returns a fingerprint of a x509 certificate
  #
  def fingerprint(digest, cert_file)
    if cert_file.is_a? String
      cert = OpenSSL::X509::Certificate.new(Util.read_file!(cert_file))
    elsif cert_file.is_a? OpenSSL::X509::Certificate
      cert = cert_file
    elsif cert_file.is_a? CertificateAuthority::Certificate
      cert = cert_file.openssl_body
    end
    digester = case digest
      when "MD5" then Digest::MD5.new
      when "SHA1" then Digest::SHA1.new
      when "SHA256" then Digest::SHA256.new
      when "SHA384" then Digest::SHA384.new
      when "SHA512" then Digest::SHA512.new
    end
    digester.hexdigest(cert.to_der)
  end


end; end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
leap_cli-1.8.1 lib/leap_cli/util/x509.rb
leap_cli-1.8 lib/leap_cli/util/x509.rb
leap_cli-1.7.4 lib/leap_cli/util/x509.rb
leap_cli-1.7.3 lib/leap_cli/util/x509.rb
leap_cli-1.6.2 lib/leap_cli/util/x509.rb