diff options
Diffstat (limited to 'lib/net/hippie/tls_parser.rb')
| -rw-r--r-- | lib/net/hippie/tls_parser.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/net/hippie/tls_parser.rb b/lib/net/hippie/tls_parser.rb new file mode 100644 index 0000000..b2a9d7d --- /dev/null +++ b/lib/net/hippie/tls_parser.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Net + module Hippie + # Parses TLS certificates and keys from various formats. + module TlsParser + def parse_cert(cert) + return cert if cert.is_a?(OpenSSL::X509::Certificate) || cert.nil? + + OpenSSL::X509::Certificate.new(cert) + end + + def parse_key(key, passphrase) + return key if key.is_a?(OpenSSL::PKey::PKey) || key.nil? + + passphrase ? OpenSSL::PKey::RSA.new(key, passphrase) : OpenSSL::PKey::RSA.new(key) + end + end + end +end |
