[ruby/openssl] pkey: add tests for PKey::{RSA,DSA,DH}#params
Add missing test cases to verify the current behavior. The next patch will rewrite those methods. https://github.com/ruby/openssl/commit/c0e0669f9b
This commit is contained in:
parent
72480389d1
commit
47fe59cd82
@ -130,6 +130,25 @@ class OpenSSL::TestPKeyDH < OpenSSL::PKeyTestCase
|
||||
assert_equal(false, dh2.params_ok?)
|
||||
end
|
||||
|
||||
def test_params
|
||||
dh = Fixtures.pkey("dh2048_ffdhe2048")
|
||||
assert_kind_of(OpenSSL::BN, dh.p)
|
||||
assert_equal(dh.p, dh.params["p"])
|
||||
assert_kind_of(OpenSSL::BN, dh.g)
|
||||
assert_equal(dh.g, dh.params["g"])
|
||||
assert_nil(dh.pub_key)
|
||||
assert_equal(0, dh.params["pub_key"])
|
||||
assert_nil(dh.priv_key)
|
||||
assert_equal(0, dh.params["priv_key"])
|
||||
|
||||
dhkey = OpenSSL::PKey.generate_key(dh)
|
||||
assert_equal(dh.params["p"], dhkey.params["p"])
|
||||
assert_kind_of(OpenSSL::BN, dhkey.pub_key)
|
||||
assert_equal(dhkey.pub_key, dhkey.params["pub_key"])
|
||||
assert_kind_of(OpenSSL::BN, dhkey.priv_key)
|
||||
assert_equal(dhkey.priv_key, dhkey.params["priv_key"])
|
||||
end
|
||||
|
||||
def test_dup
|
||||
# Parameters only
|
||||
dh1 = Fixtures.pkey("dh2048_ffdhe2048")
|
||||
|
@ -230,6 +230,27 @@ fWLOqqkzFeRrYMDzUpl36XktY6Yq8EJYlW9pCMmBVNy/dQ==
|
||||
assert_equal(nil, key.priv_key)
|
||||
end
|
||||
|
||||
def test_params
|
||||
key = Fixtures.pkey("dsa2048")
|
||||
assert_kind_of(OpenSSL::BN, key.p)
|
||||
assert_equal(key.p, key.params["p"])
|
||||
assert_kind_of(OpenSSL::BN, key.q)
|
||||
assert_equal(key.q, key.params["q"])
|
||||
assert_kind_of(OpenSSL::BN, key.g)
|
||||
assert_equal(key.g, key.params["g"])
|
||||
assert_kind_of(OpenSSL::BN, key.pub_key)
|
||||
assert_equal(key.pub_key, key.params["pub_key"])
|
||||
assert_kind_of(OpenSSL::BN, key.priv_key)
|
||||
assert_equal(key.priv_key, key.params["priv_key"])
|
||||
|
||||
pubkey = OpenSSL::PKey.read(key.public_to_der)
|
||||
assert_equal(key.params["p"], pubkey.params["p"])
|
||||
assert_equal(key.pub_key, pubkey.pub_key)
|
||||
assert_equal(key.pub_key, pubkey.params["pub_key"])
|
||||
assert_nil(pubkey.priv_key)
|
||||
assert_equal(0, pubkey.params["priv_key"])
|
||||
end
|
||||
|
||||
def test_dup
|
||||
key = Fixtures.pkey("dsa1024")
|
||||
key2 = key.dup
|
||||
|
@ -579,6 +579,26 @@ class OpenSSL::TestPKeyRSA < OpenSSL::PKeyTestCase
|
||||
assert_same_rsa rsa, OpenSSL::PKey.read(pem, "abcdef")
|
||||
end
|
||||
|
||||
def test_params
|
||||
key = Fixtures.pkey("rsa2048")
|
||||
assert_equal(2048, key.n.num_bits)
|
||||
assert_equal(key.n, key.params["n"])
|
||||
assert_equal(65537, key.e)
|
||||
assert_equal(key.e, key.params["e"])
|
||||
[:d, :p, :q, :dmp1, :dmq1, :iqmp].each do |name|
|
||||
assert_kind_of(OpenSSL::BN, key.send(name))
|
||||
assert_equal(key.send(name), key.params[name.to_s])
|
||||
end
|
||||
|
||||
pubkey = OpenSSL::PKey.read(key.public_to_der)
|
||||
assert_equal(key.n, pubkey.n)
|
||||
assert_equal(key.e, pubkey.e)
|
||||
[:d, :p, :q, :dmp1, :dmq1, :iqmp].each do |name|
|
||||
assert_nil(pubkey.send(name))
|
||||
assert_equal(0, pubkey.params[name.to_s])
|
||||
end
|
||||
end
|
||||
|
||||
def test_dup
|
||||
key = Fixtures.pkey("rsa1024")
|
||||
key2 = key.dup
|
||||
|
Loading…
x
Reference in New Issue
Block a user