文字を大文字にするサーバー
server.rb
require 'socket'
require 'openssl'
include OpenSSL
ctx = SSL::SSLContext.new()
ctx.cert = X509::Certificate.new(File.read('server-cert.pem'))
ctx.key = PKey::RSA.new(File.read('server-key.pem'))
svr = TCPServer.new(4443)
serv = SSL::SSLServer.new(svr, ctx)
socket = serv.accept
text = socket.gets
socket.puts(text.upcase)
"hello"を送るだけのクライアント
client.rb
require 'socket'
require 'openssl'
include OpenSSL
soc = TCPSocket.new('localhost', 4443)
socket = SSL::SSLSocket.new(soc)
socket.connect
socket.puts("hello")
puts socket.gets
サーバー起動
$ ruby server.rb
クライアント実行
$ ruby client.rb
HELLO # helloが大文字になって帰って来ます
おまけ: 秘密鍵とかを作るコマンド
$ openssl genrsa -out server-key.pem 1024
$ openssl req -new -key server-key.pem -out server-csr.pem
$ openssl x509 -req -in server-csr.pem -signkey server-key.pem -out server-cert.pem