diff options
author | tb <> | 2024-01-04 17:01:26 +0000 |
---|---|---|
committer | tb <> | 2024-01-04 17:01:26 +0000 |
commit | 28fd80a9189b82d0223c35153f8ed6f9cfb59161 (patch) | |
tree | 352dd8b119595c9dcef2c0b2739e1e98f14a4676 /src/lib/libcrypto/rsa | |
parent | 6ac39f8daa6e59d602f970b08d9bc152a63fd7a5 (diff) | |
download | openbsd-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.c | 8 |
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 | ||
1151 | const EVP_PKEY_ASN1_METHOD rsa_asn1_meth = { | 1151 | const 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 | ||
1184 | const EVP_PKEY_ASN1_METHOD rsa2_asn1_meth = { | 1184 | const 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 | ||
1192 | const EVP_PKEY_ASN1_METHOD rsa_pss_asn1_meth = { | 1192 | const 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", |