summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/rsa
diff options
context:
space:
mode:
authortb <>2024-01-04 17:01:26 +0000
committertb <>2024-01-04 17:01:26 +0000
commit28fd80a9189b82d0223c35153f8ed6f9cfb59161 (patch)
tree352dd8b119595c9dcef2c0b2739e1e98f14a4676 /src/lib/libcrypto/rsa
parent6ac39f8daa6e59d602f970b08d9bc152a63fd7a5 (diff)
downloadopenbsd-28fd80a9189b82d0223c35153f8ed6f9cfb59161.tar.gz
openbsd-28fd80a9189b82d0223c35153f8ed6f9cfb59161.tar.bz2
openbsd-28fd80a9189b82d0223c35153f8ed6f9cfb59161.zip
Replace .pkey_base_id with a .base_method pointer
Every EVP_PKEY_ASN1_METHOD is either an ASN.1 method or an alias. As such it resolves to an underlying ASN.1 method (in one step). This information can be stored in a base_method pointer in allusion to the pkey_base_id, which is the name for the nid (aka pkey_id aka type) of the underlying method. For an ASN.1 method, the base method is itself, so the base method is set as a pointer to itself. For an alias it is of course a pointer to the underlying method. Then obviously ameth->pkey_base_id is the same as ameth->base_method->pkey_id, so rework all ASN.1 methods to follow that. ok jsing
Diffstat (limited to 'src/lib/libcrypto/rsa')
-rw-r--r--src/lib/libcrypto/rsa/rsa_ameth.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/libcrypto/rsa/rsa_ameth.c b/src/lib/libcrypto/rsa/rsa_ameth.c
index 918e7b8901..b8957c0d1c 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.55 2024/01/04 16:41:56 tb Exp $ */ 1/* $OpenBSD: rsa_ameth.c,v 1.56 2024/01/04 17:01:26 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 */
@@ -1149,8 +1149,8 @@ rsa_cms_encrypt(CMS_RecipientInfo *ri)
1149#endif 1149#endif
1150 1150
1151const EVP_PKEY_ASN1_METHOD rsa_asn1_meth = { 1151const EVP_PKEY_ASN1_METHOD rsa_asn1_meth = {
1152 .base_method = &rsa_asn1_meth,
1152 .pkey_id = EVP_PKEY_RSA, 1153 .pkey_id = EVP_PKEY_RSA,
1153 .pkey_base_id = EVP_PKEY_RSA,
1154 .pkey_flags = ASN1_PKEY_SIGPARAM_NULL, 1154 .pkey_flags = ASN1_PKEY_SIGPARAM_NULL,
1155 1155
1156 .pem_str = "RSA", 1156 .pem_str = "RSA",
@@ -1182,16 +1182,16 @@ const EVP_PKEY_ASN1_METHOD rsa_asn1_meth = {
1182}; 1182};
1183 1183
1184const EVP_PKEY_ASN1_METHOD rsa2_asn1_meth = { 1184const EVP_PKEY_ASN1_METHOD rsa2_asn1_meth = {
1185 .base_method = &rsa_asn1_meth,
1185 .pkey_id = EVP_PKEY_RSA2, 1186 .pkey_id = EVP_PKEY_RSA2,
1186 .pkey_base_id = EVP_PKEY_RSA,
1187 .pkey_flags = ASN1_PKEY_ALIAS, 1187 .pkey_flags = ASN1_PKEY_ALIAS,
1188 1188
1189 .pkey_check = rsa_pkey_check, 1189 .pkey_check = rsa_pkey_check,
1190}; 1190};
1191 1191
1192const EVP_PKEY_ASN1_METHOD rsa_pss_asn1_meth = { 1192const EVP_PKEY_ASN1_METHOD rsa_pss_asn1_meth = {
1193 .base_method = &rsa_pss_asn1_meth,
1193 .pkey_id = EVP_PKEY_RSA_PSS, 1194 .pkey_id = EVP_PKEY_RSA_PSS,
1194 .pkey_base_id = EVP_PKEY_RSA_PSS,
1195 .pkey_flags = ASN1_PKEY_SIGPARAM_NULL, 1195 .pkey_flags = ASN1_PKEY_SIGPARAM_NULL,
1196 1196
1197 .pem_str = "RSA-PSS", 1197 .pem_str = "RSA-PSS",