mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
33 lines
693 B
Ruby
33 lines
693 B
Ruby
|
#!/usr/bin/env ruby
|
||
|
|
||
|
require 'drb'
|
||
|
require 'drb/ssl'
|
||
|
|
||
|
here = ARGV.shift || "drbssl://localhost:3456"
|
||
|
|
||
|
class HelloWorld
|
||
|
include DRbUndumped
|
||
|
|
||
|
def hello(name)
|
||
|
"Hello, #{name}."
|
||
|
end
|
||
|
end
|
||
|
|
||
|
config = Hash.new
|
||
|
config[:verbose] = true
|
||
|
begin
|
||
|
data = open("sample.key"){|io| io.read }
|
||
|
config[:SSLPrivateKey] = OpenSSL::PKey::RSA.new(data)
|
||
|
data = open("sample.crt"){|io| io.read }
|
||
|
config[:SSLCertificate] = OpenSSL::X509::Certificate.new(data)
|
||
|
rescue
|
||
|
$stderr.puts "Switching to use self-signed certificate"
|
||
|
config[:SSLCertName] =
|
||
|
[ ["C","JP"], ["O","Foo.DRuby.Org"], ["CN", "Sample"] ]
|
||
|
end
|
||
|
|
||
|
DRb.start_service(here, HelloWorld.new, config)
|
||
|
puts DRb.uri
|
||
|
$stdin.gets
|
||
|
DRb.stop_service
|