ruby/ext/openssl
rhe 63abe00785 openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs
* ext/openssl/openssl_missing.[ch]: Implement EVP_PKEY_get0_*() and
  {RSA,DSA,EC_KEY,DH}_get0_*() functions.
  OpenSSL 1.1.0 makes EVP_PKEY/RSA/DSA/DH opaque. We used to provide
  setter methods for each parameter of each PKey type, for example
  PKey::RSA#e=, but this is no longer possible because the new API
  RSA_set0_key() requires the 'n' at the same time. This commit adds
  deprecation warning to them and adds PKey::*#set_* methods as direct
  wrapper for those new APIs. For example, 'rsa.e = 3' now needs to be
  rewritten as 'rsa.set_key(rsa.n, 3, rsa.d)'.
  [ruby-core:75225] [Feature #12324]

* ext/openssl/ossl_pkey*.[ch]: Use the new accessor functions. Implement
  RSA#set_{key,factors,crt_params}, DSA#set_{key,pqg}, DH#set_{key,pqg}.
  Emit a warning with rb_warning() when old setter methods are used.

* test/drb/ut_array_drbssl.rb, test/drb/ut_drb_drbssl.rb,
  test/rubygems/test_gem_remote_fetcher.rb: Don't set a priv_key for DH
  object that are used in tmp_dh_callback. Generating a new key pair
  every time should be fine - actually the private exponent is ignored
  in OpenSSL >= 1.0.2f/1.0.1r even if we explicitly set.
  https://www.openssl.org/news/secadv/20160128.txt

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-05 15:00:47 +00:00
..
lib openssl: move SSLSocket#initialize to C extension 2016-05-28 05:00:36 +00:00
depend Update dependencies. 2016-04-11 11:50:00 +00:00
deprecation.rb openssl: drop OpenSSL 0.9.6/0.9.7 support 2016-05-25 08:50:03 +00:00
extconf.rb openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs 2016-06-05 15:00:47 +00:00
openssl_missing.c openssl: add SSLContext#ecdh_curves= 2016-05-30 09:30:38 +00:00
openssl_missing.h openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs 2016-06-05 15:00:47 +00:00
ossl.c openssl: support OpenSSL 1.1.0's new multi-threading API 2016-06-05 12:46:05 +00:00
ossl.h openssl: drop OpenSSL 0.9.6/0.9.7 support 2016-05-25 08:50:03 +00:00
ossl_asn1.c ossl_asn1.c: check overflow 2016-06-01 13:39:01 +00:00
ossl_asn1.h openssl: fix the Year 2038 problem 2016-06-01 12:41:15 +00:00
ossl_bio.c prefer rb_syserr_fail 2015-12-23 08:57:48 +00:00
ossl_bio.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_bn.c openssl: avoid deprecated BN_*prime* functions 2016-06-04 02:35:09 +00:00
ossl_bn.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_cipher.c openssl: drop OpenSSL 0.9.6/0.9.7 support 2016-05-25 08:50:03 +00:00
ossl_cipher.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_config.c * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_config.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_digest.c openssl: use StringValueCStr() where NUL-terminated string is expected 2016-05-23 11:40:07 +00:00
ossl_digest.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_engine.c openssl: drop OpenSSL 0.9.6/0.9.7 support 2016-05-25 08:50:03 +00:00
ossl_engine.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_hmac.c * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_hmac.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_ns_spki.c openssl: use StringValueCStr() where NUL-terminated string is expected 2016-05-23 11:40:07 +00:00
ossl_ns_spki.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_ocsp.c openssl: drop OpenSSL 0.9.6/0.9.7 support 2016-05-25 08:50:03 +00:00
ossl_ocsp.h openssl: drop OpenSSL 0.9.6/0.9.7 support 2016-05-25 08:50:03 +00:00
ossl_pkcs5.c openssl: drop OpenSSL 0.9.6/0.9.7 support 2016-05-25 08:50:03 +00:00
ossl_pkcs5.h * ext/dl/cfunc.c (rb_dlcfunc_call): adjust format. [ruby-dev:31222] 2007-07-15 13:24:39 +00:00
ossl_pkcs7.c openssl: drop OpenSSL 0.9.6/0.9.7 support 2016-05-25 08:50:03 +00:00
ossl_pkcs7.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_pkcs12.c openssl: use StringValueCStr() where NUL-terminated string is expected 2016-05-23 11:40:07 +00:00
ossl_pkcs12.h * ext/openssl/ossl_pkcs12*: Remove svn commit id macro 2015-09-23 13:23:02 +00:00
ossl_pkey.c openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs 2016-06-05 15:00:47 +00:00
ossl_pkey.h openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs 2016-06-05 15:00:47 +00:00
ossl_pkey_dh.c openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs 2016-06-05 15:00:47 +00:00
ossl_pkey_dsa.c openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs 2016-06-05 15:00:47 +00:00
ossl_pkey_ec.c openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs 2016-06-05 15:00:47 +00:00
ossl_pkey_rsa.c openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs 2016-06-05 15:00:47 +00:00
ossl_rand.c openssl: check existence of RAND_pseudo_bytes() 2016-06-05 12:38:34 +00:00
ossl_rand.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_ssl.c openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs 2016-06-05 15:00:47 +00:00
ossl_ssl.h openssl: move SSLSocket#initialize to C extension 2016-05-28 05:00:36 +00:00
ossl_ssl_session.c openssl: move SSLSocket#initialize to C extension 2016-05-28 05:00:36 +00:00
ossl_version.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_x509.c openssl: fix the Year 2038 problem 2016-06-01 12:41:15 +00:00
ossl_x509.h openssl: fix the Year 2038 problem 2016-06-01 12:41:15 +00:00
ossl_x509attr.c openssl: drop OpenSSL 0.9.6/0.9.7 support 2016-05-25 08:50:03 +00:00
ossl_x509cert.c openssl: support OpenSSL 1.1.0's new multi-threading API 2016-06-05 12:46:05 +00:00
ossl_x509crl.c openssl: support OpenSSL 1.1.0's new multi-threading API 2016-06-05 12:46:05 +00:00
ossl_x509ext.c openssl: drop OpenSSL 0.9.6/0.9.7 support 2016-05-25 08:50:03 +00:00
ossl_x509name.c * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00
ossl_x509req.c openssl: clear OpenSSL error queue before return to Ruby 2016-05-18 04:07:47 +00:00
ossl_x509revoked.c openssl: fix the Year 2038 problem 2016-06-01 12:41:15 +00:00
ossl_x509store.c openssl: support OpenSSL 1.1.0's new multi-threading API 2016-06-05 12:46:05 +00:00
ruby_missing.h * ext/openssl/*: Remove svn commit id macros to make sync easier 2015-09-22 16:12:15 +00:00