class SSLCheck::Parser
Public Class Methods
new(raw, url=nil)
click to toggle source
# File lib/sslcheck/parser.rb, line 5 def initialize(raw, url=nil) @raw = raw @url = url end
Public Instance Methods
ca_bundle()
click to toggle source
# File lib/sslcheck/parser.rb, line 38 def ca_bundle Certificate.new certs[1..certs.size].join("\n") end
certificate()
click to toggle source
# File lib/sslcheck/parser.rb, line 34 def certificate Certificate.new certs.first end
certs()
click to toggle source
# File lib/sslcheck/parser.rb, line 28 def certs @raw.scan(/((?<=-----BEGIN CERTIFICATE-----)(?:\S+|\s(?!-----END CERTIFICATE-----))+(?=\s-----END CERTIFICATE-----))/) .flatten .map{|cert| "-----BEGIN CERTIFICATE-----\n#{cert.strip}\n-----END CERTIFICATE-----\n" } end
common_name()
click to toggle source
# File lib/sslcheck/parser.rb, line 62 def common_name certificate.common_name end
expires_at()
click to toggle source
# File lib/sslcheck/parser.rb, line 54 def expires_at certificate.not_after end
issued_at()
click to toggle source
# File lib/sslcheck/parser.rb, line 50 def issued_at certificate.not_before end
issued_by()
click to toggle source
# File lib/sslcheck/parser.rb, line 46 def issued_by certificate.issued_by end
issuer_common_name()
click to toggle source
# File lib/sslcheck/parser.rb, line 82 def issuer_common_name certificate.issuer_common_name end
issuer_country()
click to toggle source
# File lib/sslcheck/parser.rb, line 66 def issuer_country certificate.issuer_country end
issuer_locality()
click to toggle source
# File lib/sslcheck/parser.rb, line 74 def issuer_locality certificate.issuer_locality end
issuer_organization()
click to toggle source
# File lib/sslcheck/parser.rb, line 78 def issuer_organization certificate.issuer_organization end
issuer_state()
click to toggle source
# File lib/sslcheck/parser.rb, line 70 def issuer_state certificate.issuer_state end
organizational_unit()
click to toggle source
# File lib/sslcheck/parser.rb, line 58 def organizational_unit certificate.organizational_unit end
parse()
click to toggle source
# File lib/sslcheck/parser.rb, line 10 def parse raise SSLNotConfigured if connection_refused? { "raw" => @raw, "valid_certificate" => valid_certificate?, "issued_by" => issued_by, "issued_at" => issued_at, "expires_at" => expires_at, "organizational_unit" => organizational_unit, "common_name" => common_name, "issuer_country" => issuer_country, "issuer_state" => issuer_state, "issuer_locality" => issuer_locality, "issuer_organization" => issuer_organization, "issuer_common_name" => issuer_common_name, } end
url()
click to toggle source
# File lib/sslcheck/parser.rb, line 42 def url @url end
Private Instance Methods
connection_refused?()
click to toggle source
# File lib/sslcheck/parser.rb, line 88 def connection_refused? @raw.match("connect: Connection refused") end
valid_certificate?()
click to toggle source
# File lib/sslcheck/parser.rb, line 92 def valid_certificate? Validator.new(self).validate end