# File lib/net/ssh/transport/openssl.rb, line 143
143:         def self.read_keyblob(curve_name_in_type, buffer)
144:           curve_name_in_key = buffer.read_string
145:           unless curve_name_in_type == curve_name_in_key
146:             raise Net::SSH::Exception, "curve name mismatched (`#{curve_name_in_key}' with `#{curve_name_in_type}')"
147:           end
148:           public_key_oct = buffer.read_string
149:           begin
150:             key = OpenSSL::PKey::EC.new(OpenSSL::PKey::EC::CurveNameAlias[curve_name_in_key])
151:             group = key.group
152:             point = OpenSSL::PKey::EC::Point.new(group, OpenSSL::BN.new(public_key_oct, 2))
153:             key.public_key = point
154: 
155:             return key
156:           rescue OpenSSL::PKey::ECError => e
157:             raise NotImplementedError, "unsupported key type `#{type}'"
158:           end
159: 
160:         end