summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ec
diff options
context:
space:
mode:
authortb <>2024-08-29 16:58:19 +0000
committertb <>2024-08-29 16:58:19 +0000
commitde7d0ab1c83083dedcf2e492963189bc2ba71ef0 (patch)
treeac80a4e15f4c62b0c198aacafcfe36bca5b92794 /src/lib/libcrypto/ec
parentdabf625eeca30be23d1bdf73a58eb6f7fd1bed35 (diff)
downloadopenbsd-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.c41
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
692static int
693ec_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
705static int
706ec_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
714static int
715ec_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
729static int 694static 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};