class X509Sleuth::Client
Attributes
connect_error[R]
host[R]
port[R]
timeout_secs[R]
Public Class Methods
new(host, options = {})
click to toggle source
# File lib/x509_sleuth/client.rb, line 9 def initialize(host, options = {}) options = { port: 443, timeout_secs: 15 }.merge(options) @host = host @port = options[:port] @timeout_secs = options[:timeout_secs] end
Public Instance Methods
connect()
click to toggle source
# File lib/x509_sleuth/client.rb, line 30 def connect Timeout::timeout(@timeout_secs) { ssl_socket.connect } rescue SystemCallError, SocketError, OpenSSL::SSL::SSLError, Timeout::Error => e @connect_error = e end
connect_failed?()
click to toggle source
# File lib/x509_sleuth/client.rb, line 36 def connect_failed? connect_error ? true : false end
peer_certificate()
click to toggle source
# File lib/x509_sleuth/client.rb, line 40 def peer_certificate @peer_certficate ||= ssl_socket.peer_cert end
ssl_socket()
click to toggle source
# File lib/x509_sleuth/client.rb, line 24 def ssl_socket @ssl_socket ||= OpenSSL::SSL::SSLSocket.new(tcp_socket) @ssl_socket.hostname = @host @ssl_socket end
tcp_socket()
click to toggle source
# File lib/x509_sleuth/client.rb, line 20 def tcp_socket @tcp_socket ||= TCPSocket.new(@host, @port) end