summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/rsa
diff options
context:
space:
mode:
authortb <>2024-01-04 16:41:56 +0000
committertb <>2024-01-04 16:41:56 +0000
commit7a63cf228d8c89efdb78c641551b9bac57739698 (patch)
tree42c88a97ebc87bb0e93b4c3ce66bffb8d866247f /src/lib/libcrypto/rsa
parent5476a9d1ff0475bb9440b5e67a3837b7ed91fd7c (diff)
downloadopenbsd-7a63cf228d8c89efdb78c641551b9bac57739698.tar.gz
openbsd-7a63cf228d8c89efdb78c641551b9bac57739698.tar.bz2
openbsd-7a63cf228d8c89efdb78c641551b9bac57739698.zip
Split ameth arrays into individual methods
For some reason DSA, GOST, and RSA had their ASN.1 methods stored in an array. This is clumsy and the only benefit is that one saves a few externs in p_lib.c. They were also arranged by ascending NID because of bsearch() madness. Split them up and arrange the methods by name, which is much saner and simpler. ok jsing
Diffstat (limited to 'src/lib/libcrypto/rsa')
-rw-r--r--src/lib/libcrypto/rsa/rsa_ameth.c64
1 files changed, 31 insertions, 33 deletions
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
1151const EVP_PKEY_ASN1_METHOD rsa_asn1_meths[] = { 1151const 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 { 1184const 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
1194const EVP_PKEY_ASN1_METHOD rsa_pss_asn1_meth = { 1192const EVP_PKEY_ASN1_METHOD rsa_pss_asn1_meth = {