mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/openssl] pkey: use EVP_PKEY_CTX_new_from_name() on OpenSSL 3.0
Replace EVP_PKEY_CTX_new_id() with the new EVP_PKEY_CTX_new_from_name() which takes the algorithm name in a string instead of in an NID. https://github.com/ruby/openssl/commit/d6535d13d1
This commit is contained in:
parent
61e426ae05
commit
ac757b218c
1 changed files with 6 additions and 0 deletions
|
@ -316,6 +316,11 @@ pkey_generate(int argc, VALUE *argv, VALUE self, int genparam)
|
|||
ossl_raise(ePKeyError, "EVP_PKEY_CTX_new");
|
||||
}
|
||||
else {
|
||||
#if OSSL_OPENSSL_PREREQ(3, 0, 0)
|
||||
ctx = EVP_PKEY_CTX_new_from_name(NULL, StringValueCStr(alg), NULL);
|
||||
if (!ctx)
|
||||
ossl_raise(ePKeyError, "EVP_PKEY_CTX_new_from_name");
|
||||
#else
|
||||
const EVP_PKEY_ASN1_METHOD *ameth;
|
||||
ENGINE *tmpeng;
|
||||
int pkey_id;
|
||||
|
@ -334,6 +339,7 @@ pkey_generate(int argc, VALUE *argv, VALUE self, int genparam)
|
|||
ctx = EVP_PKEY_CTX_new_id(pkey_id, NULL/* engine */);
|
||||
if (!ctx)
|
||||
ossl_raise(ePKeyError, "EVP_PKEY_CTX_new_id");
|
||||
#endif
|
||||
}
|
||||
|
||||
if (genparam && EVP_PKEY_paramgen_init(ctx) <= 0) {
|
||||
|
|
Loading…
Add table
Reference in a new issue