class HTTPClient::JRubySSLSocket::JSSEVerifyCallback

Public Class Methods

new(verify_callback) click to toggle source
# File lib/httpclient/jruby_ssl_socket.rb, line 182
def initialize(verify_callback)
  @verify_callback = verify_callback
end

Public Instance Methods

call(is_ok, chain, error_depth = -1, error = -1, error_string = '(unknown)') click to toggle source
# File lib/httpclient/jruby_ssl_socket.rb, line 186
def call(is_ok, chain, error_depth = -1, error = -1, error_string = '(unknown)')
  if @verify_callback
    ruby_chain = chain.map { |cert|
      JavaCertificate.new(cert)
    }.reverse
    # NOTE: The order depends on provider implementation
    ruby_chain.each do |cert|
      is_ok = @verify_callback.call(
        is_ok,
        SSLStoreContext.new(cert, ruby_chain, error_depth, error, error_string)
      )
    end
  end
  is_ok
end