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