aboutsummaryrefslogtreecommitdiffstats
path: root/lib/openssl/pkey.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/openssl/pkey.rb')
-rw-r--r--lib/openssl/pkey.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/openssl/pkey.rb b/lib/openssl/pkey.rb
index c3e06290..447f7788 100644
--- a/lib/openssl/pkey.rb
+++ b/lib/openssl/pkey.rb
@@ -10,6 +10,17 @@ module OpenSSL::PKey
class DH
include OpenSSL::Marshal
+ def params
+ data = to_data
+ {
+ "p" => data[:p] || 0.to_bn,
+ "q" => data[:q] || 0.to_bn,
+ "g" => data[:g] || 0.to_bn,
+ "pub_key" => data[:pub] || 0.to_bn,
+ "priv_key" => data[:priv] || 0.to_bn,
+ }
+ end
+
# :call-seq:
# dh.public_key -> dhnew
#
@@ -138,6 +149,17 @@ module OpenSSL::PKey
class DSA
include OpenSSL::Marshal
+ def params
+ data = to_data
+ {
+ "p" => data[:p] || 0.to_bn,
+ "q" => data[:q] || 0.to_bn,
+ "g" => data[:g] || 0.to_bn,
+ "pub_key" => data[:pub] || 0.to_bn,
+ "priv_key" => data[:priv] || 0.to_bn,
+ }
+ end
+
# :call-seq:
# dsa.public_key -> dsanew
#
@@ -305,6 +327,20 @@ module OpenSSL::PKey
class RSA
include OpenSSL::Marshal
+ def params
+ data = to_data
+ {
+ "n" => data[:n] || 0.to_bn,
+ "e" => data[:e] || 0.to_bn,
+ "d" => data[:d] || 0.to_bn,
+ "p" => data[:"rsa-factor1"] || 0.to_bn,
+ "q" => data[:"rsa-factor2"] || 0.to_bn,
+ "dmp1" => data[:"rsa-exponent1"] || 0.to_bn,
+ "dmq1" => data[:"rsa-exponent2"] || 0.to_bn,
+ "iqmp" => data[:"rsa-coefficient1"] || 0.to_bn,
+ }
+ end
+
# :call-seq:
# rsa.public_key -> rsanew
#