Methods
Classes and Modules
Class Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1Class Net::SSH::Transport::Kex::DiffieHellmanGroupExchangeSHA1
Public Instance methods
Register the services that perform key-exchanges.
[ show source ]
# File lib/net/ssh/transport/kex/services.rb, line 25
25: def register_services( container )
26: container.namespace_define :kex do |b|
27:
28: # The :dh service is a standard Diffie-Hellman key exchange
29: # algorithm using Group-1 and SHA-1.
30: b.dh :model => :singleton_deferred do
31: require 'net/ssh/transport/kex/dh'
32: dh = DiffieHellmanGroup1SHA1.new( b.bns, b.digesters )
33: dh.keys = b.keys
34: dh.buffers = b.buffers
35: dh.host_key_verifier = b.host_key_verifier
36: dh
37: end
38:
39: # The :dh_gex service is a standard Diffie-Hellman key exchange
40: # algorithm using SHA-1 and a negotiated group.
41: b.dh_gex :model => :singleton_deferred do
42: require 'net/ssh/transport/kex/dh-gex'
43: dh = DiffieHellmanGroupExchangeSHA1.new( b.bns, b.digesters )
44: dh.keys = b.keys
45: dh.buffers = b.buffers
46: dh.host_key_verifier = b.host_key_verifier
47: dh
48: end
49:
50: # Add these services to the hash of available kex algorithms.
51: b.kex_names.update(
52: "diffie-hellman-group-exchange-sha1" => b.dh_gex,
53: "diffie-hellman-group1-sha1" => b.dh
54: )
55: end
56: end