diff options
| author | tb <> | 2024-08-29 16:58:19 +0000 |
|---|---|---|
| committer | tb <> | 2024-08-29 16:58:19 +0000 |
| commit | de7d0ab1c83083dedcf2e492963189bc2ba71ef0 (patch) | |
| tree | ac80a4e15f4c62b0c198aacafcfe36bca5b92794 /src/lib/libcrypto/ec | |
| parent | dabf625eeca30be23d1bdf73a58eb6f7fd1bed35 (diff) | |
| download | openbsd-de7d0ab1c83083dedcf2e492963189bc2ba71ef0.tar.gz openbsd-de7d0ab1c83083dedcf2e492963189bc2ba71ef0.tar.bz2 openbsd-de7d0ab1c83083dedcf2e492963189bc2ba71ef0.zip | |
Remove the pkey_{,public_,param_}check() handlers
This disables the EVP_PKEY_*check() API and makes it fail (more precisely
indicate lack of support) on all key types.
This is an intermediate step to full removal.
Removal is ok beck jsing
Diffstat (limited to 'src/lib/libcrypto/ec')
| -rw-r--r-- | src/lib/libcrypto/ec/ec_ameth.c | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/src/lib/libcrypto/ec/ec_ameth.c b/src/lib/libcrypto/ec/ec_ameth.c index 378261b946..f42093c3db 100644 --- a/src/lib/libcrypto/ec/ec_ameth.c +++ b/src/lib/libcrypto/ec/ec_ameth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ec_ameth.c,v 1.68 2024/05/10 05:12:03 tb Exp $ */ | 1 | /* $OpenBSD: ec_ameth.c,v 1.69 2024/08/29 16:58:19 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 | */ |
| @@ -689,41 +689,6 @@ ec_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) | |||
| 689 | 689 | ||
| 690 | } | 690 | } |
| 691 | 691 | ||
| 692 | static int | ||
| 693 | ec_pkey_check(const EVP_PKEY *pkey) | ||
| 694 | { | ||
| 695 | EC_KEY *eckey = pkey->pkey.ec; | ||
| 696 | |||
| 697 | if (eckey->priv_key == NULL) { | ||
| 698 | ECerror(EC_R_MISSING_PRIVATE_KEY); | ||
| 699 | return 0; | ||
| 700 | } | ||
| 701 | |||
| 702 | return EC_KEY_check_key(eckey); | ||
| 703 | } | ||
| 704 | |||
| 705 | static int | ||
| 706 | ec_pkey_public_check(const EVP_PKEY *pkey) | ||
| 707 | { | ||
| 708 | EC_KEY *eckey = pkey->pkey.ec; | ||
| 709 | |||
| 710 | /* This also checks the private key, but oh, well... */ | ||
| 711 | return EC_KEY_check_key(eckey); | ||
| 712 | } | ||
| 713 | |||
| 714 | static int | ||
| 715 | ec_pkey_param_check(const EVP_PKEY *pkey) | ||
| 716 | { | ||
| 717 | EC_KEY *eckey = pkey->pkey.ec; | ||
| 718 | |||
| 719 | if (eckey->group == NULL) { | ||
| 720 | ECerror(EC_R_MISSING_PARAMETERS); | ||
| 721 | return 0; | ||
| 722 | } | ||
| 723 | |||
| 724 | return EC_GROUP_check(eckey->group, NULL); | ||
| 725 | } | ||
| 726 | |||
| 727 | #ifndef OPENSSL_NO_CMS | 692 | #ifndef OPENSSL_NO_CMS |
| 728 | 693 | ||
| 729 | static int | 694 | static int |
| @@ -1092,8 +1057,4 @@ const EVP_PKEY_ASN1_METHOD eckey_asn1_meth = { | |||
| 1092 | .pkey_ctrl = ec_pkey_ctrl, | 1057 | .pkey_ctrl = ec_pkey_ctrl, |
| 1093 | .old_priv_decode = old_ec_priv_decode, | 1058 | .old_priv_decode = old_ec_priv_decode, |
| 1094 | .old_priv_encode = old_ec_priv_encode, | 1059 | .old_priv_encode = old_ec_priv_encode, |
| 1095 | |||
| 1096 | .pkey_check = ec_pkey_check, | ||
| 1097 | .pkey_public_check = ec_pkey_public_check, | ||
| 1098 | .pkey_param_check = ec_pkey_param_check, | ||
| 1099 | }; | 1060 | }; |
