summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2023-11-07 16:35:55 +0000
committertb <>2023-11-07 16:35:55 +0000
commit0e746a7f919aef7f9f23a9b2769212d7da9c6c2a (patch)
treeb0a8387d3257180e2cb388dc92df4a9094a45c2c /src
parentf2d57e310e7629d8c071efe406019979f64c137a (diff)
downloadopenbsd-0e746a7f919aef7f9f23a9b2769212d7da9c6c2a.tar.gz
openbsd-0e746a7f919aef7f9f23a9b2769212d7da9c6c2a.tar.bz2
openbsd-0e746a7f919aef7f9f23a9b2769212d7da9c6c2a.zip
Convert hashEvpMdFromString() to a map
Diffstat (limited to '')
-rw-r--r--src/regress/lib/libcrypto/wycheproof/wycheproof.go45
1 files changed, 19 insertions, 26 deletions
diff --git a/src/regress/lib/libcrypto/wycheproof/wycheproof.go b/src/regress/lib/libcrypto/wycheproof/wycheproof.go
index fa5a55b93a..863e46cba7 100644
--- a/src/regress/lib/libcrypto/wycheproof/wycheproof.go
+++ b/src/regress/lib/libcrypto/wycheproof/wycheproof.go
@@ -1,4 +1,4 @@
1/* $OpenBSD: wycheproof.go,v 1.152 2023/11/07 16:27:56 tb Exp $ */ 1/* $OpenBSD: wycheproof.go,v 1.153 2023/11/07 16:35:55 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2018 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2018 Joel Sing <jsing@openbsd.org>
4 * Copyright (c) 2018,2019,2022 Theo Buehler <tb@openbsd.org> 4 * Copyright (c) 2018,2019,2022 Theo Buehler <tb@openbsd.org>
@@ -641,33 +641,26 @@ func nidFromString(ns string) (int, error) {
641 return -1, fmt.Errorf("unknown NID %q", ns) 641 return -1, fmt.Errorf("unknown NID %q", ns)
642} 642}
643 643
644var evpMds = map[string]*C.EVP_MD{
645 "SHA-1": C.EVP_sha1(),
646 "SHA-224": C.EVP_sha224(),
647 "SHA-256": C.EVP_sha256(),
648 "SHA-384": C.EVP_sha384(),
649 "SHA-512": C.EVP_sha512(),
650 "SHA-512/224": C.EVP_sha512_224(),
651 "SHA-512/256": C.EVP_sha512_256(),
652 "SHA3-224": C.EVP_sha3_224(),
653 "SHA3-256": C.EVP_sha3_256(),
654 "SHA3-384": C.EVP_sha3_384(),
655 "SHA3-512": C.EVP_sha3_512(),
656}
657
644func hashEvpMdFromString(hs string) (*C.EVP_MD, error) { 658func hashEvpMdFromString(hs string) (*C.EVP_MD, error) {
645 switch hs { 659 md, ok := evpMds[hs]
646 case "SHA-1": 660 if ok {
647 return C.EVP_sha1(), nil 661 return md, nil
648 case "SHA-224":
649 return C.EVP_sha224(), nil
650 case "SHA-256":
651 return C.EVP_sha256(), nil
652 case "SHA-384":
653 return C.EVP_sha384(), nil
654 case "SHA-512":
655 return C.EVP_sha512(), nil
656 case "SHA-512/224":
657 return C.EVP_sha512_224(), nil
658 case "SHA-512/256":
659 return C.EVP_sha512_256(), nil
660 case "SHA3-224":
661 return C.EVP_sha3_224(), nil
662 case "SHA3-256":
663 return C.EVP_sha3_256(), nil
664 case "SHA3-384":
665 return C.EVP_sha3_384(), nil
666 case "SHA3-512":
667 return C.EVP_sha3_512(), nil
668 default:
669 return nil, fmt.Errorf("unknown hash %q", hs)
670 } 662 }
663 return nil, fmt.Errorf("unknown hash %q", hs)
671} 664}
672 665
673func hashEvpDigestMessage(md *C.EVP_MD, msg []byte) ([]byte, int, error) { 666func hashEvpDigestMessage(md *C.EVP_MD, msg []byte) ([]byte, int, error) {