@@ -13,15 +13,13 @@ def test_ec_key
1313 # FIPS-selftest failure on some environment, so skip for now.
1414 next if [ "Oakley" , "X25519" ] . any? { |n | curve_name . start_with? ( n ) }
1515
16- key = OpenSSL ::PKey ::EC . new ( curve_name )
17- key . generate_key!
18-
16+ key = OpenSSL ::PKey ::EC . generate ( curve_name )
1917 assert_predicate key , :private?
2018 assert_predicate key , :public?
2119 assert_nothing_raised { key . check_key }
2220 end
2321
24- key1 = OpenSSL ::PKey ::EC . new ( "prime256v1" ) . generate_key!
22+ key1 = OpenSSL ::PKey ::EC . generate ( "prime256v1" )
2523
2624 key2 = OpenSSL ::PKey ::EC . new
2725 key2 . group = key1 . group
@@ -52,6 +50,13 @@ def test_generate
5250 assert_equal ( true , ec . private? )
5351 end
5452
53+ def test_generate_key
54+ ec = OpenSSL ::PKey ::EC . new ( "prime256v1" )
55+ assert_equal false , ec . private?
56+ ec . generate_key!
57+ assert_equal true , ec . private?
58+ end if !openssl? ( 3 , 0 , 0 )
59+
5560 def test_marshal
5661 key = Fixtures . pkey ( "p256" )
5762 deserialized = Marshal . load ( Marshal . dump ( key ) )
@@ -136,7 +141,7 @@ def test_sign_verify_raw
136141 end
137142
138143 def test_dsa_sign_asn1_FIPS186_3
139- key = OpenSSL ::PKey ::EC . new ( "prime256v1" ) . generate_key!
144+ key = OpenSSL ::PKey ::EC . generate ( "prime256v1" )
140145 size = key . group . order . num_bits / 8 + 1
141146 dgst = ( 1 ..size ) . to_a . pack ( 'C*' )
142147 sig = key . dsa_sign_asn1 ( dgst )
@@ -145,8 +150,8 @@ def test_dsa_sign_asn1_FIPS186_3
145150 end
146151
147152 def test_dh_compute_key
148- key_a = OpenSSL ::PKey ::EC . new ( "prime256v1" ) . generate_key!
149- key_b = OpenSSL ::PKey ::EC . new ( key_a . group ) . generate_key!
153+ key_a = OpenSSL ::PKey ::EC . generate ( "prime256v1" )
154+ key_b = OpenSSL ::PKey ::EC . generate ( key_a . group )
150155
151156 pub_a = key_a . public_key
152157 pub_b = key_b . public_key
@@ -276,7 +281,7 @@ def test_ec_group
276281
277282 def test_ec_point
278283 group = OpenSSL ::PKey ::EC ::Group . new ( "prime256v1" )
279- key = OpenSSL ::PKey ::EC . new ( group ) . generate_key!
284+ key = OpenSSL ::PKey ::EC . generate ( group )
280285 point = key . public_key
281286
282287 point2 = OpenSSL ::PKey ::EC ::Point . new ( group , point . to_bn )
0 commit comments