main
 1# frozen_string_literal: true
 2
 3module Net
 4  module Hippie
 5    # Parses TLS certificates and keys from various formats.
 6    module TlsParser
 7      def parse_cert(cert)
 8        return cert if cert.is_a?(OpenSSL::X509::Certificate) || cert.nil?
 9
10        OpenSSL::X509::Certificate.new(cert)
11      end
12
13      def parse_key(key, passphrase)
14        return key if key.is_a?(OpenSSL::PKey::PKey) || key.nil?
15
16        passphrase ? OpenSSL::PKey::RSA.new(key, passphrase) : OpenSSL::PKey::RSA.new(key)
17      end
18    end
19  end
20end