Skip to content

Commit

Permalink
fix rubocop issues
Browse files Browse the repository at this point in the history
  • Loading branch information
fwininger committed Apr 20, 2022
1 parent e7d4815 commit 2f19685
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 44 deletions.
4 changes: 1 addition & 3 deletions Rakefile
Expand Up @@ -97,9 +97,7 @@ end

# We need to enable the OpenSSL 3.0 legacy providers for our test suite
require 'openssl'
if OpenSSL::OPENSSL_LIBRARY_VERSION.start_with? "OpenSSL 3" then
ENV['OPENSSL_CONF'] = 'test/openssl3.conf'
end
ENV['OPENSSL_CONF'] = 'test/openssl3.conf' if OpenSSL::OPENSSL_LIBRARY_VERSION.start_with? "OpenSSL 3"

desc "Run tests of Net::SSH:Test"
Rake::TestTask.new do |t|
Expand Down
38 changes: 23 additions & 15 deletions lib/net/ssh/buffer.rb
Expand Up @@ -306,27 +306,35 @@ def read_keyblob(type)
g = read_bignum
pub_key = read_bignum

asn1 = OpenSSL::ASN1::Sequence.new([
OpenSSL::ASN1::Sequence.new([
OpenSSL::ASN1::ObjectId.new('DSA'),
OpenSSL::ASN1::Sequence.new([
OpenSSL::ASN1::Integer.new(p),
OpenSSL::ASN1::Integer.new(q),
OpenSSL::ASN1::Integer.new(g)
]),
]),
OpenSSL::ASN1::BitString.new(OpenSSL::ASN1::Integer.new(pub_key).to_der)
])
asn1 = OpenSSL::ASN1::Sequence.new(
[
OpenSSL::ASN1::Sequence.new(
[
OpenSSL::ASN1::ObjectId.new('DSA'),
OpenSSL::ASN1::Sequence.new(
[
OpenSSL::ASN1::Integer.new(p),
OpenSSL::ASN1::Integer.new(q),
OpenSSL::ASN1::Integer.new(g)
]
)
]
),
OpenSSL::ASN1::BitString.new(OpenSSL::ASN1::Integer.new(pub_key).to_der)
]
)

key = OpenSSL::PKey::DSA.new(asn1.to_der)
when /^ssh-rsa$/
e = read_bignum
n = read_bignum

asn1 = OpenSSL::ASN1::Sequence([
OpenSSL::ASN1::Integer(n),
OpenSSL::ASN1::Integer(e)
])
asn1 = OpenSSL::ASN1::Sequence(
[
OpenSSL::ASN1::Integer(n),
OpenSSL::ASN1::Integer(e)
]
)

key = OpenSSL::PKey::RSA.new(asn1.to_der)
when /^ssh-ed25519$/
Expand Down
18 changes: 11 additions & 7 deletions lib/net/ssh/transport/openssl.rb
Expand Up @@ -162,13 +162,17 @@ def self.read_keyblob(curve_name_in_type, buffer)
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)

Expand Down
38 changes: 23 additions & 15 deletions test/test_buffer.rb
Expand Up @@ -324,17 +324,23 @@ def test_write_dss_key_should_write_argument_to_end_of_buffer
g = 0xffddbb9977553311
pub_key = 0xeeccaa8866442200

asn1 = OpenSSL::ASN1::Sequence.new([
OpenSSL::ASN1::Sequence.new([
OpenSSL::ASN1::ObjectId.new('DSA'),
OpenSSL::ASN1::Sequence.new([
OpenSSL::ASN1::Integer.new(p),
OpenSSL::ASN1::Integer.new(q),
OpenSSL::ASN1::Integer.new(g)
]),
]),
OpenSSL::ASN1::BitString.new(OpenSSL::ASN1::Integer.new(pub_key).to_der)
])
asn1 = OpenSSL::ASN1::Sequence.new(
[
OpenSSL::ASN1::Sequence.new(
[
OpenSSL::ASN1::ObjectId.new('DSA'),
OpenSSL::ASN1::Sequence.new(
[
OpenSSL::ASN1::Integer.new(p),
OpenSSL::ASN1::Integer.new(q),
OpenSSL::ASN1::Integer.new(g)
]
)
]
),
OpenSSL::ASN1::BitString.new(OpenSSL::ASN1::Integer.new(pub_key).to_der)
]
)

key = OpenSSL::PKey::DSA.new(asn1.to_der)

Expand All @@ -348,10 +354,12 @@ def test_write_rsa_key_should_write_argument_to_end_of_buffer
n = 0x7766554433221100
e = 0xffeeddccbbaa9988

asn1 = OpenSSL::ASN1::Sequence([
OpenSSL::ASN1::Integer(n),
OpenSSL::ASN1::Integer(e)
])
asn1 = OpenSSL::ASN1::Sequence(
[
OpenSSL::ASN1::Integer(n),
OpenSSL::ASN1::Integer(e)
]
)

key = OpenSSL::PKey::RSA.new(asn1.to_der)

Expand Down
10 changes: 6 additions & 4 deletions test/test_known_hosts.rb
Expand Up @@ -168,10 +168,12 @@ def with_config_file(lines: [], &block)
def rsa_key
n = 0x7766554433221100
e = 0xffeeddccbbaa9988
asn1 = OpenSSL::ASN1::Sequence([
OpenSSL::ASN1::Integer(n),
OpenSSL::ASN1::Integer(e)
])
asn1 = OpenSSL::ASN1::Sequence(
[
OpenSSL::ASN1::Integer(n),
OpenSSL::ASN1::Integer(e)
]
)
OpenSSL::PKey::RSA.new(asn1.to_der)
end
end

0 comments on commit 2f19685

Please sign in to comment.