require 'socket'
require 'openssl'

socket = TCPSocket.new('127.0.0.1', 9876)

cert_store = OpenSSL::X509::Store.new
cert_store.set_default_paths
cert_store.verify_callback = lambda do |preverify_ok, store_ctx|
  true
end

ctx = OpenSSL::SSL::SSLContext.new
ctx.key = OpenSSL::PKey::RSA.new(File.open('client.key'))
ctx.cert = OpenSSL::X509::Certificate.new(File.open('client.crt'))
ctx.cert_store = cert_store

ssl_socket = OpenSSL::SSL::SSLSocket.new(socket, ctx)
ssl_socket.sync_close = true

ssl_socket.connect

ssl_socket.close
