diff options
Diffstat (limited to 'src/lib/libcrypto/evp')
| -rw-r--r-- | src/lib/libcrypto/evp/evp_local.h | 10 | ||||
| -rw-r--r-- | src/lib/libcrypto/evp/pmeth_gn.c | 60 |
2 files changed, 12 insertions, 58 deletions
diff --git a/src/lib/libcrypto/evp/evp_local.h b/src/lib/libcrypto/evp/evp_local.h index 5d541ffec4..54cd65d0af 100644 --- a/src/lib/libcrypto/evp/evp_local.h +++ b/src/lib/libcrypto/evp/evp_local.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: evp_local.h,v 1.24 2024/08/28 07:15:04 tb Exp $ */ | 1 | /* $OpenBSD: evp_local.h,v 1.25 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 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -140,10 +140,6 @@ struct evp_pkey_asn1_method_st { | |||
| 140 | int (*item_sign)(EVP_MD_CTX *ctx, const ASN1_ITEM *it, void *asn, | 140 | int (*item_sign)(EVP_MD_CTX *ctx, const ASN1_ITEM *it, void *asn, |
| 141 | X509_ALGOR *alg1, X509_ALGOR *alg2, ASN1_BIT_STRING *sig); | 141 | X509_ALGOR *alg1, X509_ALGOR *alg2, ASN1_BIT_STRING *sig); |
| 142 | 142 | ||
| 143 | int (*pkey_check)(const EVP_PKEY *pk); | ||
| 144 | int (*pkey_public_check)(const EVP_PKEY *pk); | ||
| 145 | int (*pkey_param_check)(const EVP_PKEY *pk); | ||
| 146 | |||
| 147 | int (*set_priv_key)(EVP_PKEY *pk, const unsigned char *private_key, | 143 | int (*set_priv_key)(EVP_PKEY *pk, const unsigned char *private_key, |
| 148 | size_t len); | 144 | size_t len); |
| 149 | int (*set_pub_key)(EVP_PKEY *pk, const unsigned char *public_key, | 145 | int (*set_pub_key)(EVP_PKEY *pk, const unsigned char *public_key, |
| @@ -322,10 +318,6 @@ struct evp_pkey_method_st { | |||
| 322 | const unsigned char *tbs, size_t tbslen); | 318 | const unsigned char *tbs, size_t tbslen); |
| 323 | int (*digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig, | 319 | int (*digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig, |
| 324 | size_t siglen, const unsigned char *tbs, size_t tbslen); | 320 | size_t siglen, const unsigned char *tbs, size_t tbslen); |
| 325 | |||
| 326 | int (*check)(EVP_PKEY *pkey); | ||
| 327 | int (*public_check)(EVP_PKEY *pkey); | ||
| 328 | int (*param_check)(EVP_PKEY *pkey); | ||
| 329 | } /* EVP_PKEY_METHOD */; | 321 | } /* EVP_PKEY_METHOD */; |
| 330 | 322 | ||
| 331 | void evp_pkey_set_cb_translate(BN_GENCB *cb, EVP_PKEY_CTX *ctx); | 323 | void evp_pkey_set_cb_translate(BN_GENCB *cb, EVP_PKEY_CTX *ctx); |
diff --git a/src/lib/libcrypto/evp/pmeth_gn.c b/src/lib/libcrypto/evp/pmeth_gn.c index 1c355e594a..415690cd0e 100644 --- a/src/lib/libcrypto/evp/pmeth_gn.c +++ b/src/lib/libcrypto/evp/pmeth_gn.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: pmeth_gn.c,v 1.19 2024/04/17 08:24:11 tb Exp $ */ | 1 | /* $OpenBSD: pmeth_gn.c,v 1.20 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 | */ |
| @@ -226,68 +226,30 @@ merr: | |||
| 226 | } | 226 | } |
| 227 | LCRYPTO_ALIAS(EVP_PKEY_new_mac_key); | 227 | LCRYPTO_ALIAS(EVP_PKEY_new_mac_key); |
| 228 | 228 | ||
| 229 | /* | ||
| 230 | * XXX - remove the API below in the next bump. | ||
| 231 | */ | ||
| 232 | |||
| 229 | int | 233 | int |
| 230 | EVP_PKEY_check(EVP_PKEY_CTX *ctx) | 234 | EVP_PKEY_check(EVP_PKEY_CTX *ctx) |
| 231 | { | 235 | { |
| 232 | EVP_PKEY *pkey; | 236 | EVPerror(ERR_R_DISABLED); |
| 233 | 237 | return -2; | |
| 234 | if ((pkey = ctx->pkey) == NULL) { | ||
| 235 | EVPerror(EVP_R_NO_KEY_SET); | ||
| 236 | return 0; | ||
| 237 | } | ||
| 238 | |||
| 239 | if (ctx->pmeth->check != NULL) | ||
| 240 | return ctx->pmeth->check(pkey); | ||
| 241 | |||
| 242 | if (pkey->ameth == NULL || pkey->ameth->pkey_check == NULL) { | ||
| 243 | EVPerror(EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE); | ||
| 244 | return -2; | ||
| 245 | } | ||
| 246 | |||
| 247 | return pkey->ameth->pkey_check(pkey); | ||
| 248 | } | 238 | } |
| 249 | LCRYPTO_ALIAS(EVP_PKEY_check); | 239 | LCRYPTO_ALIAS(EVP_PKEY_check); |
| 250 | 240 | ||
| 251 | int | 241 | int |
| 252 | EVP_PKEY_public_check(EVP_PKEY_CTX *ctx) | 242 | EVP_PKEY_public_check(EVP_PKEY_CTX *ctx) |
| 253 | { | 243 | { |
| 254 | EVP_PKEY *pkey; | 244 | EVPerror(ERR_R_DISABLED); |
| 255 | 245 | return -2; | |
| 256 | if ((pkey = ctx->pkey) == NULL) { | ||
| 257 | EVPerror(EVP_R_NO_KEY_SET); | ||
| 258 | return 0; | ||
| 259 | } | ||
| 260 | |||
| 261 | if (ctx->pmeth->public_check != NULL) | ||
| 262 | return ctx->pmeth->public_check(pkey); | ||
| 263 | |||
| 264 | if (pkey->ameth == NULL || pkey->ameth->pkey_public_check == NULL) { | ||
| 265 | EVPerror(EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE); | ||
| 266 | return -2; | ||
| 267 | } | ||
| 268 | |||
| 269 | return pkey->ameth->pkey_public_check(pkey); | ||
| 270 | } | 246 | } |
| 271 | LCRYPTO_ALIAS(EVP_PKEY_public_check); | 247 | LCRYPTO_ALIAS(EVP_PKEY_public_check); |
| 272 | 248 | ||
| 273 | int | 249 | int |
| 274 | EVP_PKEY_param_check(EVP_PKEY_CTX *ctx) | 250 | EVP_PKEY_param_check(EVP_PKEY_CTX *ctx) |
| 275 | { | 251 | { |
| 276 | EVP_PKEY *pkey; | 252 | EVPerror(ERR_R_DISABLED); |
| 277 | 253 | return -2; | |
| 278 | if ((pkey = ctx->pkey) == NULL) { | ||
| 279 | EVPerror(EVP_R_NO_KEY_SET); | ||
| 280 | return 0; | ||
| 281 | } | ||
| 282 | |||
| 283 | if (ctx->pmeth->param_check != NULL) | ||
| 284 | return ctx->pmeth->param_check(pkey); | ||
| 285 | |||
| 286 | if (pkey->ameth == NULL || pkey->ameth->pkey_param_check == NULL) { | ||
| 287 | EVPerror(EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE); | ||
| 288 | return -2; | ||
| 289 | } | ||
| 290 | |||
| 291 | return pkey->ameth->pkey_param_check(pkey); | ||
| 292 | } | 254 | } |
| 293 | LCRYPTO_ALIAS(EVP_PKEY_param_check); | 255 | LCRYPTO_ALIAS(EVP_PKEY_param_check); |
