[ruby/openssl] pkey: change PKey::{RSA,DSA,DH}#params to use nil for missing parameters

The returned Hash from these methods contain 0 in place of a missing
parameter in the key, for example:

	pkey = OpenSSL::PKey.read(OpenSSL::PKey::RSA.new(2048).public_to_pem)
	pp pkey.params
	#=>
	# {"n"=>#<OpenSSL::BN 2869346734[...snip]>,
	#  "e"=>#<OpenSSL::BN 65537>,
	#  "d"=>#<OpenSSL::BN 0>,
	#  "p"=>#<OpenSSL::BN 0>,
	#  "q"=>#<OpenSSL::BN 0>,
	#  "dmp1"=>#<OpenSSL::BN 0>,
	#  "dmq1"=>#<OpenSSL::BN 0>,
	#  "iqmp"=>#<OpenSSL::BN 0>}

Let's use nil instead, which is more appropriate for indicating a
missing value.

f247ec3dec
This commit is contained in:
Kazuki Yamaguchi 2024-06-14 14:45:56 +09:00
parent ec4592280f
commit 87316d58fa
4 changed files with 7 additions and 7 deletions

View file

@ -137,9 +137,9 @@ class OpenSSL::TestPKeyDH < OpenSSL::PKeyTestCase
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.params["pub_key"])
assert_nil(dh.priv_key)
assert_equal(0, dh.params["priv_key"])
assert_nil(dh.params["priv_key"])
dhkey = OpenSSL::PKey.generate_key(dh)
assert_equal(dh.params["p"], dhkey.params["p"])

View file

@ -248,7 +248,7 @@ fWLOqqkzFeRrYMDzUpl36XktY6Yq8EJYlW9pCMmBVNy/dQ==
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"])
assert_nil(pubkey.params["priv_key"])
end
def test_dup

View file

@ -595,7 +595,7 @@ class OpenSSL::TestPKeyRSA < OpenSSL::PKeyTestCase
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])
assert_nil(pubkey.params[name.to_s])
end
end