File tree Expand file tree Collapse file tree 4 files changed +23
-5
lines changed
Expand file tree Collapse file tree 4 files changed +23
-5
lines changed Original file line number Diff line number Diff line change 88 runs-on : ubuntu-latest
99 strategy :
1010 matrix :
11- ruby : [ '2.6', '2.7', '3.0' ]
11+ ruby : [ '2.6', '2.7', '3.0', '3.1' ]
1212
1313 steps :
1414 - uses : actions/checkout@master
1515 - name : Set up Ruby ${{ matrix.ruby }}
16- uses : ruby/setup-ruby@fdcfbcf14ec9672f6f615cb9589a1bc5dd69d262
16+ uses : ruby/setup-ruby@f0971f0dd45a5cbb3f119f7db77cc58057c53530
1717 with :
1818 ruby-version : ${{ matrix.ruby }}
1919 - name : Build and test
Original file line number Diff line number Diff line change @@ -7,7 +7,19 @@ class DSA < Base
77 #
88 # Returns a PublicKey::Base subclass instance.
99 def self . generate
10- from_openssl ( OpenSSL ::PKey ::DSA . generate ( 1024 ) )
10+ openssl_key =
11+ if defined? ( OpenSSL ::PKey . generate_parameters )
12+ dsa_parameters = OpenSSL ::PKey . generate_parameters ( "DSA" , {
13+ dsa_paramgen_bits : 1024 ,
14+ dsa_paramgen_q_bits : 160
15+ } )
16+
17+ OpenSSL ::PKey . generate_key ( dsa_parameters )
18+ else
19+ OpenSSL ::PKey ::DSA . generate ( 1024 )
20+ end
21+
22+ from_openssl ( openssl_key )
1123 end
1224
1325 # Import an openssl private key.
Original file line number Diff line number Diff line change 11require_relative "../spec_helper"
22
33describe SSHData ::PrivateKey ::DSA do
4- let ( :private_key ) { OpenSSL :: PKey ::DSA . generate ( 1024 ) }
4+ let ( :private_key ) { SSHData :: PrivateKey ::DSA . generate . openssl }
55 let ( :public_key ) { private_key . public_key }
66 let ( :params ) { private_key . params }
77 let ( :message ) { "hello, world!" }
1717 } . not_to raise_error
1818 end
1919
20+ it "generates default parameters" do
21+ key = described_class . generate
22+ expect ( key . q . num_bits ) . to eq ( 160 )
23+ expect ( key . p . num_bits ) . to eq ( 1024 )
24+ end
25+
2026 it "can sign messages" do
2127 expect ( subject . public_key . verify ( message , subject . sign ( message ) ) ) . to eq ( true )
2228 end
Original file line number Diff line number Diff line change 11require_relative "../spec_helper"
22
33describe SSHData ::PublicKey ::DSA do
4- let ( :private_key ) { OpenSSL :: PKey ::DSA . generate ( 1024 ) }
4+ let ( :private_key ) { SSHData :: PrivateKey ::DSA . generate . openssl }
55 let ( :public_key ) { private_key . public_key }
66 let ( :params ) { public_key . params }
77
You can’t perform that action at this time.
0 commit comments