summaryrefslogtreecommitdiff
path: root/trunk/sample/openssl/echo_cli.rb
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-25 15:13:14 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-25 15:13:14 +0000
commitd0233291bc8a5068e52c69c210e5979e5324b5bc (patch)
tree7d9459449c33792c63eeb7baa071e76352e0baab /trunk/sample/openssl/echo_cli.rb
parent0dc342de848a642ecce8db697b8fecd83a63e117 (diff)
parent72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff)
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/sample/openssl/echo_cli.rb')
-rw-r--r--trunk/sample/openssl/echo_cli.rb44
1 files changed, 0 insertions, 44 deletions
diff --git a/trunk/sample/openssl/echo_cli.rb b/trunk/sample/openssl/echo_cli.rb
deleted file mode 100644
index 069a21ec94..0000000000
--- a/trunk/sample/openssl/echo_cli.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'socket'
-require 'openssl'
-require 'optparse'
-
-options = ARGV.getopts("p:c:k:C:")
-
-host = ARGV[0] || "localhost"
-port = options["p"] || "2000"
-cert_file = options["c"]
-key_file = options["k"]
-ca_path = options["C"]
-
-ctx = OpenSSL::SSL::SSLContext.new()
-if cert_file && key_file
- ctx.cert = OpenSSL::X509::Certificate.new(File::read(cert_file))
- ctx.key = OpenSSL::PKey::RSA.new(File::read(key_file))
-end
-if ca_path
- ctx.verify_mode = OpenSSL::SSL::VERIFY_PEER
- ctx.ca_path = ca_path
-else
- $stderr.puts "!!! WARNING: PEER CERTIFICATE WON'T BE VERIFIED !!!"
-end
-
-s = TCPSocket.new(host, port)
-ssl = OpenSSL::SSL::SSLSocket.new(s, ctx)
-ssl.connect # start SSL session
-p ssl.peer_cert
-errors = Hash.new
-OpenSSL::X509.constants.grep(/^V_(ERR_|OK)/).each do |name|
- errors[OpenSSL::X509.const_get(name)] = name
-end
-p errors[ssl.verify_result]
-
-ssl.sync_close = true # if true the underlying socket will be
- # closed in SSLSocket#close. (default: false)
-while line = $stdin.gets
- ssl.write line
- puts ssl.gets.inspect
-end
-
-ssl.close