Skip to content

Commit b92e045

Browse files
committed
openssl/lib/openssl/pkey.rb compatibility for Ruby 2.4 (2048-bit DH key)
... ruby/openssl@bb3399a61c033323f0d465
1 parent f5d14be commit b92e045

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

lib/jopenssl24.rb

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,36 @@ def set_crt_params(dmp1, dmq1, iqmp)
7777

7878
end
7979

80+
# openssl/lib/openssl/pkey.rb :
81+
82+
class DH
83+
84+
remove_const :DEFAULT_512 if const_defined?(:DEFAULT_512)
85+
86+
DEFAULT_2048 = new <<-_end_of_pem_
87+
-----BEGIN DH PARAMETERS-----
88+
MIIBCAKCAQEA7E6kBrYiyvmKAMzQ7i8WvwVk9Y/+f8S7sCTN712KkK3cqd1jhJDY
89+
JbrYeNV3kUIKhPxWHhObHKpD1R84UpL+s2b55+iMd6GmL7OYmNIT/FccKhTcveab
90+
VBmZT86BZKYyf45hUF9FOuUM9xPzuK3Vd8oJQvfYMCd7LPC0taAEljQLR4Edf8E6
91+
YoaOffgTf5qxiwkjnlVZQc3whgnEt9FpVMvQ9eknyeGB5KHfayAc3+hUAvI3/Cr3
92+
1bNveX5wInh5GDx1FGhKBZ+s1H+aedudCm7sCgRwv8lKWYGiHzObSma8A86KG+MD
93+
7Lo5JquQ3DlBodj3IDyPrxIv96lvRPFtAwIBAg==
94+
-----END DH PARAMETERS-----
95+
_end_of_pem_
96+
97+
end
98+
99+
remove_const :DEFAULT_TMP_DH_CALLBACK if const_defined?(:DEFAULT_TMP_DH_CALLBACK)
100+
101+
DEFAULT_TMP_DH_CALLBACK = lambda { |ctx, is_export, keylen|
102+
warn "using default DH parameters." if $VERBOSE
103+
case keylen
104+
when 1024 then OpenSSL::PKey::DH::DEFAULT_1024
105+
when 2048 then OpenSSL::PKey::DH::DEFAULT_2048
106+
else nil
107+
end
108+
}
109+
80110
end
81111

82112
end

0 commit comments

Comments
 (0)