diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libcrypto/rsa/rsa_pmeth.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/lib/libcrypto/rsa/rsa_pmeth.c b/src/lib/libcrypto/rsa/rsa_pmeth.c index a5dd86a5de..78f6532a5f 100644 --- a/src/lib/libcrypto/rsa/rsa_pmeth.c +++ b/src/lib/libcrypto/rsa/rsa_pmeth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: rsa_pmeth.c,v 1.23 2019/10/29 08:00:18 jsing Exp $ */ | 1 | /* $OpenBSD: rsa_pmeth.c,v 1.24 2019/10/29 08:52:02 jsing Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2006. | 3 | * project 2006. |
4 | */ | 4 | */ |
@@ -451,6 +451,18 @@ bad_pad: | |||
451 | rctx->pub_exp = p2; | 451 | rctx->pub_exp = p2; |
452 | return 1; | 452 | return 1; |
453 | 453 | ||
454 | case EVP_PKEY_CTRL_RSA_OAEP_MD: | ||
455 | case EVP_PKEY_CTRL_GET_RSA_OAEP_MD: | ||
456 | if (rctx->pad_mode != RSA_PKCS1_OAEP_PADDING) { | ||
457 | RSAerror(RSA_R_INVALID_PADDING_MODE); | ||
458 | return -2; | ||
459 | } | ||
460 | if (type == EVP_PKEY_CTRL_GET_RSA_OAEP_MD) | ||
461 | *(const EVP_MD **)p2 = rctx->md; | ||
462 | else | ||
463 | rctx->md = p2; | ||
464 | return 1; | ||
465 | |||
454 | case EVP_PKEY_CTRL_MD: | 466 | case EVP_PKEY_CTRL_MD: |
455 | if (!check_padding_md(p2, rctx->pad_mode)) | 467 | if (!check_padding_md(p2, rctx->pad_mode)) |
456 | return 0; | 468 | return 0; |