[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

@ -42,7 +42,7 @@ module OpenSSL::PKey
# The hash has keys 'p', 'q', 'g', 'pub_key', and 'priv_key'.
def params
%w{p q g pub_key priv_key}.map { |name|
[name, send(name) || 0.to_bn]
[name, send(name)]
}.to_h
end
@ -174,7 +174,7 @@ module OpenSSL::PKey
# The hash has keys 'p', 'q', 'g', 'pub_key', and 'priv_key'.
def params
%w{p q g pub_key priv_key}.map { |name|
[name, send(name) || 0.to_bn]
[name, send(name)]
}.to_h
end
@ -360,7 +360,7 @@ module OpenSSL::PKey
# The hash has keys 'n', 'e', 'd', 'p', 'q', 'dmp1', 'dmq1', and 'iqmp'.
def params
%w{n e d p q dmp1 dmq1 iqmp}.map { |name|
[name, send(name) || 0.to_bn]
[name, send(name)]
}.to_h
end