# File lib/openid/server.rb, line 241 def DiffieHellmanServerSession.from_query(query) dh_modulus = query['openid.dh_modulus'] dh_gen = query['openid.dh_gen'] dh = OpenID::DiffieHellman.from_base64(dh_modulus, dh_gen) consumer_pubkey = query['openid.dh_consumer_public'] unless consumer_pubkey msg = 'No openid.dh_consumer_public found for DH-SHA1 session' raise ProtocolError.new(query, msg) end consumer_pubkey = OpenID::Util.base64_to_num(consumer_pubkey) return new(dh, consumer_pubkey) end