1require_relative "ut_drb"
2require 'drb/ssl'
3
4if __FILE__ == $0
5  def ARGV.shift
6    it = super()
7    raise "usage: #{$0} <manager-uri> <name>" unless it
8    it
9  end
10
11  TEST_KEY_DH1024 = OpenSSL::PKey::DH.new <<-_end_of_pem_
12-----BEGIN DH PARAMETERS-----
13MIGHAoGBAKnKQ8MNK6nYZzLrrcuTsLxuiJGXoOO5gT+tljOTbHBuiktdMTITzIY0
14pFxIvjG05D7HoBZQfrR0c92NGWPkAiCkhQKB8JCbPVzwNLDy6DZ0pmofDKrEsYHG
15AQjjxMXhwULlmuR/K+WwlaZPiLIBYalLAZQ7ZbOPeVkJ8ePao0eLAgEC
16-----END DH PARAMETERS-----
17  _end_of_pem_
18
19  TEST_KEY_DH1024.priv_key = OpenSSL::BN.new("48561834C67E65FFD2A9B47F41E5E78FDC95C387428FDB1E4B0188B64D1643C3A8D3455B945B7E8C4D166010C7C2CE23BFB9BEF43D0348FE7FA5284B0225E7FE1537546D114E3D8A4411B9B9351AB451E1A358F50ED61B1F00DA29336EEBBD649980AC86D76AF8BBB065298C2052672EEF3EF13AB47A15275FC2836F3AC74CEA", 16)
20
21  config = Hash.new
22  config[:SSLTmpDhCallback] = proc { TEST_KEY_DH1024 }
23  config[:SSLVerifyMode] = OpenSSL::SSL::VERIFY_PEER
24  config[:SSLVerifyCallback] = lambda{|ok,x509_store|
25    true
26  }
27  config[:SSLCertName] =
28    [ ["C","JP"], ["O","Foo.DRuby.Org"], ["CN", "Sample"] ]
29
30  DRb::DRbServer.default_argc_limit(8)
31  DRb::DRbServer.default_load_limit(4096)
32  DRb.start_service('drbssl://localhost:0', DRbEx.new, config)
33  es = DRb::ExtServ.new(ARGV.shift, ARGV.shift)
34  DRb.thread.join
35end
36
37