class InternetSecurityEvent::TLSStatus

Public Class Methods

build(hostname, certificate) click to toggle source
# File lib/internet_security_event/tls_status.rb, line 12
def self.build(hostname, certificate)
  obj = new(hostname, certificate)
  obj.to_e
end
new(hostname, certificate) click to toggle source
Calls superclass method
# File lib/internet_security_event/tls_status.rb, line 7
def initialize(hostname, certificate)
  @hostname = hostname
  super(certificate)
end

Private Instance Methods

description() click to toggle source
Calls superclass method
# File lib/internet_security_event/tls_status.rb, line 19
def description
  return 'certificate subject does not match hostname' unless hostname_is_valid_for_this_certificate?

  super
end
hostname_is_valid_for_this_certificate?() click to toggle source
# File lib/internet_security_event/tls_status.rb, line 33
def hostname_is_valid_for_this_certificate?
  return true if hostname.nil?

  OpenSSL::SSL.verify_certificate_identity(certificate, hostname)
end
state() click to toggle source
Calls superclass method
# File lib/internet_security_event/tls_status.rb, line 25
def state
  if !hostname_is_valid_for_this_certificate?
    'critical'
  else
    super
  end
end