summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ec
diff options
context:
space:
mode:
authortb <>2023-04-25 15:48:48 +0000
committertb <>2023-04-25 15:48:48 +0000
commitaa06ff6ff84baafcac76b48d7a0dcd4f9d00d7d2 (patch)
tree8fc6489b768abe5eb7eafc75ed8631756451a226 /src/lib/libcrypto/ec
parent9670fcb7ce8b0f516e7924baa6167b992630dc77 (diff)
downloadopenbsd-aa06ff6ff84baafcac76b48d7a0dcd4f9d00d7d2.tar.gz
openbsd-aa06ff6ff84baafcac76b48d7a0dcd4f9d00d7d2.tar.bz2
openbsd-aa06ff6ff84baafcac76b48d7a0dcd4f9d00d7d2.zip
Wire up truncated SHA-2, SHA-3 and related things
from jsing
Diffstat (limited to 'src/lib/libcrypto/ec')
-rw-r--r--src/lib/libcrypto/ec/ec_pmeth.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/libcrypto/ec/ec_pmeth.c b/src/lib/libcrypto/ec/ec_pmeth.c
index 9582224037..d1bb52d9ed 100644
--- a/src/lib/libcrypto/ec/ec_pmeth.c
+++ b/src/lib/libcrypto/ec/ec_pmeth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ec_pmeth.c,v 1.16 2022/11/26 16:08:52 tb Exp $ */ 1/* $OpenBSD: ec_pmeth.c,v 1.17 2023/04/25 15:48:48 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 */
@@ -381,12 +381,17 @@ pkey_ec_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
381 return dctx->kdf_ukmlen; 381 return dctx->kdf_ukmlen;
382 382
383 case EVP_PKEY_CTRL_MD: 383 case EVP_PKEY_CTRL_MD:
384 /* RFC 3279, RFC 5758 and NIST CSOR. */
384 if (EVP_MD_type((const EVP_MD *) p2) != NID_sha1 && 385 if (EVP_MD_type((const EVP_MD *) p2) != NID_sha1 &&
385 EVP_MD_type((const EVP_MD *) p2) != NID_ecdsa_with_SHA1 && 386 EVP_MD_type((const EVP_MD *) p2) != NID_ecdsa_with_SHA1 &&
386 EVP_MD_type((const EVP_MD *) p2) != NID_sha224 && 387 EVP_MD_type((const EVP_MD *) p2) != NID_sha224 &&
387 EVP_MD_type((const EVP_MD *) p2) != NID_sha256 && 388 EVP_MD_type((const EVP_MD *) p2) != NID_sha256 &&
388 EVP_MD_type((const EVP_MD *) p2) != NID_sha384 && 389 EVP_MD_type((const EVP_MD *) p2) != NID_sha384 &&
389 EVP_MD_type((const EVP_MD *) p2) != NID_sha512) { 390 EVP_MD_type((const EVP_MD *) p2) != NID_sha512 &&
391 EVP_MD_type((const EVP_MD *) p2) != NID_sha3_224 &&
392 EVP_MD_type((const EVP_MD *) p2) != NID_sha3_256 &&
393 EVP_MD_type((const EVP_MD *) p2) != NID_sha3_384 &&
394 EVP_MD_type((const EVP_MD *) p2) != NID_sha3_512) {
390 ECerror(EC_R_INVALID_DIGEST_TYPE); 395 ECerror(EC_R_INVALID_DIGEST_TYPE);
391 return 0; 396 return 0;
392 } 397 }