diff options
| author | tb <> | 2023-11-07 16:22:04 +0000 |
|---|---|---|
| committer | tb <> | 2023-11-07 16:22:04 +0000 |
| commit | 2a1d4f20a5c9b27e3a2febf2f431454eaab6d805 (patch) | |
| tree | fe51d774f340f92be9036083f629dcd9bab46eb2 /src | |
| parent | 1a74897e4aa5cbc7fde75fd64e73e5b2d8984ba2 (diff) | |
| download | openbsd-2a1d4f20a5c9b27e3a2febf2f431454eaab6d805.tar.gz openbsd-2a1d4f20a5c9b27e3a2febf2f431454eaab6d805.tar.bz2 openbsd-2a1d4f20a5c9b27e3a2febf2f431454eaab6d805.zip | |
Inline rsa_ctx_to_pss_string()
After previous refactoring, rsa_all_set_pss_padding() is the last remaining
caller of the weirdly named and ugly rsa_all_set_pss_padding(). This can be
handled in a few simple lines now that this mess has slightly cleaner code.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/rsa/rsa_ameth.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/src/lib/libcrypto/rsa/rsa_ameth.c b/src/lib/libcrypto/rsa/rsa_ameth.c index 0c27ee621e..b4dbff2683 100644 --- a/src/lib/libcrypto/rsa/rsa_ameth.c +++ b/src/lib/libcrypto/rsa/rsa_ameth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rsa_ameth.c,v 1.39 2023/11/07 16:12:36 tb Exp $ */ | 1 | /* $OpenBSD: rsa_ameth.c,v 1.40 2023/11/07 16:22:04 tb 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 | */ |
| @@ -734,20 +734,6 @@ rsa_pss_params_create(const EVP_MD *sigmd, const EVP_MD *mgf1md, int saltlen) | |||
| 734 | return NULL; | 734 | return NULL; |
| 735 | } | 735 | } |
| 736 | 736 | ||
| 737 | static ASN1_STRING * | ||
| 738 | rsa_ctx_to_pss_string(EVP_PKEY_CTX *pkey_ctx) | ||
| 739 | { | ||
| 740 | RSA_PSS_PARAMS *pss = rsa_ctx_to_pss(pkey_ctx); | ||
| 741 | ASN1_STRING *os; | ||
| 742 | |||
| 743 | if (pss == NULL) | ||
| 744 | return NULL; | ||
| 745 | |||
| 746 | os = ASN1_item_pack(pss, &RSA_PSS_PARAMS_it, NULL); | ||
| 747 | RSA_PSS_PARAMS_free(pss); | ||
| 748 | return os; | ||
| 749 | } | ||
| 750 | |||
| 751 | /* | 737 | /* |
| 752 | * From PSS AlgorithmIdentifier set public key parameters. If pkey isn't NULL | 738 | * From PSS AlgorithmIdentifier set public key parameters. If pkey isn't NULL |
| 753 | * then the EVP_MD_CTX is setup and initialised. If it is NULL parameters are | 739 | * then the EVP_MD_CTX is setup and initialised. If it is NULL parameters are |
| @@ -897,13 +883,16 @@ rsa_alg_set_pkcs1_padding(X509_ALGOR *alg) | |||
| 897 | static int | 883 | static int |
| 898 | rsa_alg_set_pss_padding(X509_ALGOR *alg, EVP_PKEY_CTX *pkey_ctx) | 884 | rsa_alg_set_pss_padding(X509_ALGOR *alg, EVP_PKEY_CTX *pkey_ctx) |
| 899 | { | 885 | { |
| 886 | RSA_PSS_PARAMS *pss = NULL; | ||
| 900 | ASN1_STRING *astr = NULL; | 887 | ASN1_STRING *astr = NULL; |
| 901 | int ret = 0; | 888 | int ret = 0; |
| 902 | 889 | ||
| 903 | if (pkey_ctx == NULL) | 890 | if (pkey_ctx == NULL) |
| 904 | goto err; | 891 | goto err; |
| 905 | 892 | ||
| 906 | if ((astr = rsa_ctx_to_pss_string(pkey_ctx)) == NULL) | 893 | if ((pss = rsa_ctx_to_pss(pkey_ctx)) == NULL) |
| 894 | goto err; | ||
| 895 | if ((astr = ASN1_item_pack(pss, &RSA_PSS_PARAMS_it, NULL)) == NULL) | ||
| 907 | goto err; | 896 | goto err; |
| 908 | if (!X509_ALGOR_set0_by_nid(alg, EVP_PKEY_RSA_PSS, V_ASN1_SEQUENCE, astr)) | 897 | if (!X509_ALGOR_set0_by_nid(alg, EVP_PKEY_RSA_PSS, V_ASN1_SEQUENCE, astr)) |
| 909 | goto err; | 898 | goto err; |
| @@ -913,6 +902,7 @@ rsa_alg_set_pss_padding(X509_ALGOR *alg, EVP_PKEY_CTX *pkey_ctx) | |||
| 913 | 902 | ||
| 914 | err: | 903 | err: |
| 915 | ASN1_STRING_free(astr); | 904 | ASN1_STRING_free(astr); |
| 905 | RSA_PSS_PARAMS_free(pss); | ||
| 916 | 906 | ||
| 917 | return ret; | 907 | return ret; |
| 918 | } | 908 | } |
