class HTTPClient::JRubySSLSocket::KeyStoreLoader

Constants

PASSWORD

Public Class Methods

new() click to toggle source
# File lib/httpclient/jruby_ssl_socket.rb, line 304
def initialize
  @keystore = KeyStore.getInstance('JKS')
  @keystore.load(nil)
end

Public Instance Methods

add(cert_source, key_source, password) click to toggle source
# File lib/httpclient/jruby_ssl_socket.rb, line 309
def add(cert_source, key_source, password)
  cert_str = cert_source.respond_to?(:to_pem) ? cert_source.to_pem : File.read(cert_source.to_s)
  cert = PEMUtils.read_certificate(cert_str)
  @keystore.setCertificateEntry('client_cert', cert)
  key_str = key_source.respond_to?(:to_pem) ? key_source.to_pem : File.read(key_source.to_s)
  key_pair = PEMUtils.read_private_key(key_str, password)
  @keystore.setKeyEntry('client_key', key_pair.getPrivate, PASSWORD, [cert].to_java(Certificate))
end
keystore() click to toggle source
# File lib/httpclient/jruby_ssl_socket.rb, line 318
def keystore
  @keystore
end