diff options
Diffstat (limited to 'lib/net/ssh/transport/openssl.rb')
-rw-r--r-- | lib/net/ssh/transport/openssl.rb | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/net/ssh/transport/openssl.rb b/lib/net/ssh/transport/openssl.rb index 40561fb..3a43abb 100644 --- a/lib/net/ssh/transport/openssl.rb +++ b/lib/net/ssh/transport/openssl.rb @@ -162,13 +162,17 @@ module OpenSSL curvename = OpenSSL::PKey::EC::CurveNameAlias[curve_name_in_key] group = OpenSSL::PKey::EC::Group.new(curvename) point = OpenSSL::PKey::EC::Point.new(group, OpenSSL::BN.new(public_key_oct, 2)) - asn1 = OpenSSL::ASN1::Sequence([ - OpenSSL::ASN1::Sequence([ - OpenSSL::ASN1::ObjectId("id-ecPublicKey"), - OpenSSL::ASN1::ObjectId(curvename) - ]), - OpenSSL::ASN1::BitString(point.to_octet_string(:uncompressed)) - ]) + asn1 = OpenSSL::ASN1::Sequence( + [ + OpenSSL::ASN1::Sequence( + [ + OpenSSL::ASN1::ObjectId("id-ecPublicKey"), + OpenSSL::ASN1::ObjectId(curvename) + ] + ), + OpenSSL::ASN1::BitString(point.to_octet_string(:uncompressed)) + ] + ) key = OpenSSL::PKey::EC.new(asn1.to_der) |