diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/dsa/dsa_ameth.c | 118 | ||||
| -rw-r--r-- | src/lib/libcrypto/evp/p_lib.c | 35 | ||||
| -rw-r--r-- | src/lib/libcrypto/gost/gostr341001_ameth.c | 82 | ||||
| -rw-r--r-- | src/lib/libcrypto/rsa/rsa_ameth.c | 64 |
4 files changed, 150 insertions, 149 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_ameth.c b/src/lib/libcrypto/dsa/dsa_ameth.c index 4c20b45b18..d4cce72fcb 100644 --- a/src/lib/libcrypto/dsa/dsa_ameth.c +++ b/src/lib/libcrypto/dsa/dsa_ameth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: dsa_ameth.c,v 1.55 2023/08/12 07:59:48 tb Exp $ */ | 1 | /* $OpenBSD: dsa_ameth.c,v 1.56 2024/01/04 16:41:56 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 | */ |
| @@ -674,64 +674,60 @@ dsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) | |||
| 674 | } | 674 | } |
| 675 | } | 675 | } |
| 676 | 676 | ||
| 677 | /* NB these are sorted in pkey_id order, lowest first */ | 677 | const EVP_PKEY_ASN1_METHOD dsa_asn1_meth = { |
| 678 | 678 | .pkey_id = EVP_PKEY_DSA, | |
| 679 | const EVP_PKEY_ASN1_METHOD dsa_asn1_meths[] = { | 679 | .pkey_base_id = EVP_PKEY_DSA, |
| 680 | { | 680 | |
| 681 | .pkey_id = EVP_PKEY_DSA2, | 681 | .pem_str = "DSA", |
| 682 | .pkey_base_id = EVP_PKEY_DSA, | 682 | .info = "OpenSSL DSA method", |
| 683 | .pkey_flags = ASN1_PKEY_ALIAS | 683 | |
| 684 | }, | 684 | .pub_decode = dsa_pub_decode, |
| 685 | 685 | .pub_encode = dsa_pub_encode, | |
| 686 | { | 686 | .pub_cmp = dsa_pub_cmp, |
| 687 | .pkey_id = EVP_PKEY_DSA1, | 687 | .pub_print = dsa_pub_print, |
| 688 | .pkey_base_id = EVP_PKEY_DSA, | 688 | |
| 689 | .pkey_flags = ASN1_PKEY_ALIAS | 689 | .priv_decode = dsa_priv_decode, |
| 690 | }, | 690 | .priv_encode = dsa_priv_encode, |
| 691 | 691 | .priv_print = dsa_priv_print, | |
| 692 | { | 692 | |
| 693 | .pkey_id = EVP_PKEY_DSA4, | 693 | .pkey_size = dsa_size, |
| 694 | .pkey_base_id = EVP_PKEY_DSA, | 694 | .pkey_bits = dsa_bits, |
| 695 | .pkey_flags = ASN1_PKEY_ALIAS | 695 | .pkey_security_bits = dsa_security_bits, |
| 696 | }, | 696 | |
| 697 | 697 | .param_decode = dsa_param_decode, | |
| 698 | { | 698 | .param_encode = dsa_param_encode, |
| 699 | .pkey_id = EVP_PKEY_DSA3, | 699 | .param_missing = dsa_missing_parameters, |
| 700 | .pkey_base_id = EVP_PKEY_DSA, | 700 | .param_copy = dsa_copy_parameters, |
| 701 | .pkey_flags = ASN1_PKEY_ALIAS | 701 | .param_cmp = dsa_cmp_parameters, |
| 702 | }, | 702 | .param_print = dsa_param_print, |
| 703 | 703 | .sig_print = dsa_sig_print, | |
| 704 | { | 704 | |
| 705 | .pkey_id = EVP_PKEY_DSA, | 705 | .pkey_free = dsa_free, |
| 706 | .pkey_base_id = EVP_PKEY_DSA, | 706 | .pkey_ctrl = dsa_pkey_ctrl, |
| 707 | 707 | .old_priv_decode = old_dsa_priv_decode, | |
| 708 | .pem_str = "DSA", | 708 | .old_priv_encode = old_dsa_priv_encode |
| 709 | .info = "OpenSSL DSA method", | 709 | }; |
| 710 | 710 | ||
| 711 | .pub_decode = dsa_pub_decode, | 711 | const EVP_PKEY_ASN1_METHOD dsa1_asn1_meth = { |
| 712 | .pub_encode = dsa_pub_encode, | 712 | .pkey_id = EVP_PKEY_DSA1, |
| 713 | .pub_cmp = dsa_pub_cmp, | 713 | .pkey_base_id = EVP_PKEY_DSA, |
| 714 | .pub_print = dsa_pub_print, | 714 | .pkey_flags = ASN1_PKEY_ALIAS, |
| 715 | 715 | }; | |
| 716 | .priv_decode = dsa_priv_decode, | 716 | |
| 717 | .priv_encode = dsa_priv_encode, | 717 | const EVP_PKEY_ASN1_METHOD dsa2_asn1_meth = { |
| 718 | .priv_print = dsa_priv_print, | 718 | .pkey_id = EVP_PKEY_DSA2, |
| 719 | 719 | .pkey_base_id = EVP_PKEY_DSA, | |
| 720 | .pkey_size = dsa_size, | 720 | .pkey_flags = ASN1_PKEY_ALIAS, |
| 721 | .pkey_bits = dsa_bits, | 721 | }; |
| 722 | .pkey_security_bits = dsa_security_bits, | 722 | |
| 723 | 723 | const EVP_PKEY_ASN1_METHOD dsa3_asn1_meth = { | |
| 724 | .param_decode = dsa_param_decode, | 724 | .pkey_id = EVP_PKEY_DSA3, |
| 725 | .param_encode = dsa_param_encode, | 725 | .pkey_base_id = EVP_PKEY_DSA, |
| 726 | .param_missing = dsa_missing_parameters, | 726 | .pkey_flags = ASN1_PKEY_ALIAS, |
| 727 | .param_copy = dsa_copy_parameters, | 727 | }; |
| 728 | .param_cmp = dsa_cmp_parameters, | 728 | |
| 729 | .param_print = dsa_param_print, | 729 | const EVP_PKEY_ASN1_METHOD dsa4_asn1_meth = { |
| 730 | .sig_print = dsa_sig_print, | 730 | .pkey_id = EVP_PKEY_DSA4, |
| 731 | 731 | .pkey_base_id = EVP_PKEY_DSA, | |
| 732 | .pkey_free = dsa_free, | 732 | .pkey_flags = ASN1_PKEY_ALIAS, |
| 733 | .pkey_ctrl = dsa_pkey_ctrl, | ||
| 734 | .old_priv_decode = old_dsa_priv_decode, | ||
| 735 | .old_priv_encode = old_dsa_priv_encode | ||
| 736 | } | ||
| 737 | }; | 733 | }; |
diff --git a/src/lib/libcrypto/evp/p_lib.c b/src/lib/libcrypto/evp/p_lib.c index b64977bab8..f46666a008 100644 --- a/src/lib/libcrypto/evp/p_lib.c +++ b/src/lib/libcrypto/evp/p_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: p_lib.c,v 1.52 2024/01/01 15:23:00 tb Exp $ */ | 1 | /* $OpenBSD: p_lib.c,v 1.53 2024/01/04 16:41:56 tb Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -133,33 +133,40 @@ | |||
| 133 | 133 | ||
| 134 | extern const EVP_PKEY_ASN1_METHOD cmac_asn1_meth; | 134 | extern const EVP_PKEY_ASN1_METHOD cmac_asn1_meth; |
| 135 | extern const EVP_PKEY_ASN1_METHOD dh_asn1_meth; | 135 | extern const EVP_PKEY_ASN1_METHOD dh_asn1_meth; |
| 136 | extern const EVP_PKEY_ASN1_METHOD dsa_asn1_meths[]; | 136 | extern const EVP_PKEY_ASN1_METHOD dsa_asn1_meth; |
| 137 | extern const EVP_PKEY_ASN1_METHOD dsa1_asn1_meth; | ||
| 138 | extern const EVP_PKEY_ASN1_METHOD dsa2_asn1_meth; | ||
| 139 | extern const EVP_PKEY_ASN1_METHOD dsa3_asn1_meth; | ||
| 140 | extern const EVP_PKEY_ASN1_METHOD dsa4_asn1_meth; | ||
| 137 | extern const EVP_PKEY_ASN1_METHOD eckey_asn1_meth; | 141 | extern const EVP_PKEY_ASN1_METHOD eckey_asn1_meth; |
| 138 | extern const EVP_PKEY_ASN1_METHOD ed25519_asn1_meth; | 142 | extern const EVP_PKEY_ASN1_METHOD ed25519_asn1_meth; |
| 139 | extern const EVP_PKEY_ASN1_METHOD gostimit_asn1_meth; | 143 | extern const EVP_PKEY_ASN1_METHOD gostimit_asn1_meth; |
| 140 | extern const EVP_PKEY_ASN1_METHOD gostr01_asn1_meths[]; | 144 | extern const EVP_PKEY_ASN1_METHOD gostr01_asn1_meth; |
| 145 | extern const EVP_PKEY_ASN1_METHOD gostr12_256_asn1_meth; | ||
| 146 | extern const EVP_PKEY_ASN1_METHOD gostr12_512_asn1_meth; | ||
| 141 | extern const EVP_PKEY_ASN1_METHOD hmac_asn1_meth; | 147 | extern const EVP_PKEY_ASN1_METHOD hmac_asn1_meth; |
| 142 | extern const EVP_PKEY_ASN1_METHOD rsa_asn1_meths[]; | 148 | extern const EVP_PKEY_ASN1_METHOD rsa_asn1_meth; |
| 149 | extern const EVP_PKEY_ASN1_METHOD rsa2_asn1_meth; | ||
| 143 | extern const EVP_PKEY_ASN1_METHOD rsa_pss_asn1_meth; | 150 | extern const EVP_PKEY_ASN1_METHOD rsa_pss_asn1_meth; |
| 144 | extern const EVP_PKEY_ASN1_METHOD x25519_asn1_meth; | 151 | extern const EVP_PKEY_ASN1_METHOD x25519_asn1_meth; |
| 145 | 152 | ||
| 146 | static const EVP_PKEY_ASN1_METHOD *asn1_methods[] = { | 153 | static const EVP_PKEY_ASN1_METHOD *asn1_methods[] = { |
| 147 | &cmac_asn1_meth, | 154 | &cmac_asn1_meth, |
| 148 | &dh_asn1_meth, | 155 | &dh_asn1_meth, |
| 149 | &dsa_asn1_meths[0], | 156 | &dsa_asn1_meth, |
| 150 | &dsa_asn1_meths[1], | 157 | &dsa1_asn1_meth, |
| 151 | &dsa_asn1_meths[2], | 158 | &dsa2_asn1_meth, |
| 152 | &dsa_asn1_meths[3], | 159 | &dsa3_asn1_meth, |
| 153 | &dsa_asn1_meths[4], | 160 | &dsa4_asn1_meth, |
| 154 | &eckey_asn1_meth, | 161 | &eckey_asn1_meth, |
| 155 | &ed25519_asn1_meth, | 162 | &ed25519_asn1_meth, |
| 156 | &gostimit_asn1_meth, | 163 | &gostimit_asn1_meth, |
| 157 | &gostr01_asn1_meths[0], | 164 | &gostr01_asn1_meth, |
| 158 | &gostr01_asn1_meths[1], | 165 | &gostr12_256_asn1_meth, |
| 159 | &gostr01_asn1_meths[2], | 166 | &gostr12_512_asn1_meth, |
| 160 | &hmac_asn1_meth, | 167 | &hmac_asn1_meth, |
| 161 | &rsa_asn1_meths[0], | 168 | &rsa_asn1_meth, |
| 162 | &rsa_asn1_meths[1], | 169 | &rsa2_asn1_meth, |
| 163 | &rsa_pss_asn1_meth, | 170 | &rsa_pss_asn1_meth, |
| 164 | &x25519_asn1_meth, | 171 | &x25519_asn1_meth, |
| 165 | }; | 172 | }; |
diff --git a/src/lib/libcrypto/gost/gostr341001_ameth.c b/src/lib/libcrypto/gost/gostr341001_ameth.c index fc3bce412a..f917827f7a 100644 --- a/src/lib/libcrypto/gost/gostr341001_ameth.c +++ b/src/lib/libcrypto/gost/gostr341001_ameth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001_ameth.c,v 1.22 2023/12/28 21:53:09 tb Exp $ */ | 1 | /* $OpenBSD: gostr341001_ameth.c,v 1.23 2024/01/04 16:41:56 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> |
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD |
| @@ -682,46 +682,46 @@ pkey_ctrl_gost01(EVP_PKEY *pkey, int op, long arg1, void *arg2) | |||
| 682 | return 1; | 682 | return 1; |
| 683 | } | 683 | } |
| 684 | 684 | ||
| 685 | const EVP_PKEY_ASN1_METHOD gostr01_asn1_meths[] = { | 685 | const EVP_PKEY_ASN1_METHOD gostr01_asn1_meth = { |
| 686 | { | 686 | .pkey_id = EVP_PKEY_GOSTR01, |
| 687 | .pkey_id = EVP_PKEY_GOSTR01, | 687 | .pkey_base_id = EVP_PKEY_GOSTR01, |
| 688 | .pkey_base_id = EVP_PKEY_GOSTR01, | 688 | .pkey_flags = ASN1_PKEY_SIGPARAM_NULL, |
| 689 | .pkey_flags = ASN1_PKEY_SIGPARAM_NULL, | 689 | |
| 690 | 690 | .pem_str = "GOST2001", | |
| 691 | .pem_str = "GOST2001", | 691 | .info = "GOST R 34.10-2001", |
| 692 | .info = "GOST R 34.10-2001", | 692 | |
| 693 | 693 | .pkey_free = pkey_free_gost01, | |
| 694 | .pkey_free = pkey_free_gost01, | 694 | .pkey_ctrl = pkey_ctrl_gost01, |
| 695 | .pkey_ctrl = pkey_ctrl_gost01, | 695 | |
| 696 | 696 | .priv_decode = priv_decode_gost01, | |
| 697 | .priv_decode = priv_decode_gost01, | 697 | .priv_encode = priv_encode_gost01, |
| 698 | .priv_encode = priv_encode_gost01, | 698 | .priv_print = priv_print_gost01, |
| 699 | .priv_print = priv_print_gost01, | 699 | |
| 700 | 700 | .param_decode = param_decode_gost01, | |
| 701 | .param_decode = param_decode_gost01, | 701 | .param_encode = param_encode_gost01, |
| 702 | .param_encode = param_encode_gost01, | 702 | .param_missing = param_missing_gost01, |
| 703 | .param_missing = param_missing_gost01, | 703 | .param_copy = param_copy_gost01, |
| 704 | .param_copy = param_copy_gost01, | 704 | .param_cmp = param_cmp_gost01, |
| 705 | .param_cmp = param_cmp_gost01, | 705 | .param_print = param_print_gost01, |
| 706 | .param_print = param_print_gost01, | 706 | |
| 707 | 707 | .pub_decode = pub_decode_gost01, | |
| 708 | .pub_decode = pub_decode_gost01, | 708 | .pub_encode = pub_encode_gost01, |
| 709 | .pub_encode = pub_encode_gost01, | 709 | .pub_cmp = pub_cmp_gost01, |
| 710 | .pub_cmp = pub_cmp_gost01, | 710 | .pub_print = pub_print_gost01, |
| 711 | .pub_print = pub_print_gost01, | 711 | .pkey_size = pkey_size_gost01, |
| 712 | .pkey_size = pkey_size_gost01, | 712 | .pkey_bits = pkey_bits_gost01, |
| 713 | .pkey_bits = pkey_bits_gost01, | 713 | }; |
| 714 | }, | 714 | |
| 715 | { | 715 | const EVP_PKEY_ASN1_METHOD gostr12_256_asn1_meth = { |
| 716 | .pkey_id = EVP_PKEY_GOSTR12_256, | 716 | .pkey_id = EVP_PKEY_GOSTR12_256, |
| 717 | .pkey_base_id = EVP_PKEY_GOSTR01, | 717 | .pkey_base_id = EVP_PKEY_GOSTR01, |
| 718 | .pkey_flags = ASN1_PKEY_ALIAS | 718 | .pkey_flags = ASN1_PKEY_ALIAS, |
| 719 | }, | 719 | }; |
| 720 | { | 720 | |
| 721 | .pkey_id = EVP_PKEY_GOSTR12_512, | 721 | const EVP_PKEY_ASN1_METHOD gostr12_512_asn1_meth = { |
| 722 | .pkey_base_id = EVP_PKEY_GOSTR01, | 722 | .pkey_id = EVP_PKEY_GOSTR12_512, |
| 723 | .pkey_flags = ASN1_PKEY_ALIAS | 723 | .pkey_base_id = EVP_PKEY_GOSTR01, |
| 724 | }, | 724 | .pkey_flags = ASN1_PKEY_ALIAS, |
| 725 | }; | 725 | }; |
| 726 | 726 | ||
| 727 | #endif | 727 | #endif |
diff --git a/src/lib/libcrypto/rsa/rsa_ameth.c b/src/lib/libcrypto/rsa/rsa_ameth.c index 2266f0cbd5..918e7b8901 100644 --- a/src/lib/libcrypto/rsa/rsa_ameth.c +++ b/src/lib/libcrypto/rsa/rsa_ameth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rsa_ameth.c,v 1.54 2024/01/01 15:43:02 tb Exp $ */ | 1 | /* $OpenBSD: rsa_ameth.c,v 1.55 2024/01/04 16:41:56 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 | */ |
| @@ -1148,47 +1148,45 @@ rsa_cms_encrypt(CMS_RecipientInfo *ri) | |||
| 1148 | } | 1148 | } |
| 1149 | #endif | 1149 | #endif |
| 1150 | 1150 | ||
| 1151 | const EVP_PKEY_ASN1_METHOD rsa_asn1_meths[] = { | 1151 | const EVP_PKEY_ASN1_METHOD rsa_asn1_meth = { |
| 1152 | { | 1152 | .pkey_id = EVP_PKEY_RSA, |
| 1153 | .pkey_id = EVP_PKEY_RSA, | 1153 | .pkey_base_id = EVP_PKEY_RSA, |
| 1154 | .pkey_base_id = EVP_PKEY_RSA, | 1154 | .pkey_flags = ASN1_PKEY_SIGPARAM_NULL, |
| 1155 | .pkey_flags = ASN1_PKEY_SIGPARAM_NULL, | ||
| 1156 | 1155 | ||
| 1157 | .pem_str = "RSA", | 1156 | .pem_str = "RSA", |
| 1158 | .info = "OpenSSL RSA method", | 1157 | .info = "OpenSSL RSA method", |
| 1159 | 1158 | ||
| 1160 | .pub_decode = rsa_pub_decode, | 1159 | .pub_decode = rsa_pub_decode, |
| 1161 | .pub_encode = rsa_pub_encode, | 1160 | .pub_encode = rsa_pub_encode, |
| 1162 | .pub_cmp = rsa_pub_cmp, | 1161 | .pub_cmp = rsa_pub_cmp, |
| 1163 | .pub_print = rsa_pub_print, | 1162 | .pub_print = rsa_pub_print, |
| 1164 | 1163 | ||
| 1165 | .priv_decode = rsa_priv_decode, | 1164 | .priv_decode = rsa_priv_decode, |
| 1166 | .priv_encode = rsa_priv_encode, | 1165 | .priv_encode = rsa_priv_encode, |
| 1167 | .priv_print = rsa_priv_print, | 1166 | .priv_print = rsa_priv_print, |
| 1168 | 1167 | ||
| 1169 | .pkey_size = rsa_size, | 1168 | .pkey_size = rsa_size, |
| 1170 | .pkey_bits = rsa_bits, | 1169 | .pkey_bits = rsa_bits, |
| 1171 | .pkey_security_bits = rsa_security_bits, | 1170 | .pkey_security_bits = rsa_security_bits, |
| 1172 | 1171 | ||
| 1173 | .sig_print = rsa_sig_print, | 1172 | .sig_print = rsa_sig_print, |
| 1174 | 1173 | ||
| 1175 | .pkey_free = rsa_free, | 1174 | .pkey_free = rsa_free, |
| 1176 | .pkey_ctrl = rsa_pkey_ctrl, | 1175 | .pkey_ctrl = rsa_pkey_ctrl, |
| 1177 | .old_priv_decode = old_rsa_priv_decode, | 1176 | .old_priv_decode = old_rsa_priv_decode, |
| 1178 | .old_priv_encode = old_rsa_priv_encode, | 1177 | .old_priv_encode = old_rsa_priv_encode, |
| 1179 | .item_verify = rsa_item_verify, | 1178 | .item_verify = rsa_item_verify, |
| 1180 | .item_sign = rsa_item_sign, | 1179 | .item_sign = rsa_item_sign, |
| 1181 | 1180 | ||
| 1182 | .pkey_check = rsa_pkey_check, | 1181 | .pkey_check = rsa_pkey_check, |
| 1183 | }, | 1182 | }; |
| 1184 | 1183 | ||
| 1185 | { | 1184 | const EVP_PKEY_ASN1_METHOD rsa2_asn1_meth = { |
| 1186 | .pkey_id = EVP_PKEY_RSA2, | 1185 | .pkey_id = EVP_PKEY_RSA2, |
| 1187 | .pkey_base_id = EVP_PKEY_RSA, | 1186 | .pkey_base_id = EVP_PKEY_RSA, |
| 1188 | .pkey_flags = ASN1_PKEY_ALIAS, | 1187 | .pkey_flags = ASN1_PKEY_ALIAS, |
| 1189 | 1188 | ||
| 1190 | .pkey_check = rsa_pkey_check, | 1189 | .pkey_check = rsa_pkey_check, |
| 1191 | }, | ||
| 1192 | }; | 1190 | }; |
| 1193 | 1191 | ||
| 1194 | const EVP_PKEY_ASN1_METHOD rsa_pss_asn1_meth = { | 1192 | const EVP_PKEY_ASN1_METHOD rsa_pss_asn1_meth = { |
