diff options
author | Richard Levitte <levitte@openssl.org> | 2020-05-19 10:43:49 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2020-05-20 21:07:09 +0200 |
commit | a30027b680c4ccf69f0600b3a5406821b2d7fe0b (patch) | |
tree | ce951c593645fe6287217dd7b1d8f7c0863004f3 /providers/implementations/signature | |
parent | c2f2db9b6fb75ca2d672bb50f4f1f5a23991a6c3 (diff) | |
download | openssl-new-a30027b680c4ccf69f0600b3a5406821b2d7fe0b.tar.gz |
Refactor the provider side DER constants and writers
This splits up all the providers/common/der/*.c.in so the generated
portion is on its own and all related DER writing routines are in
their own files. This also ensures that the DIGEST consstants aren't
reproduced in several files (resulting in symbol clashes).
Finally, the production of OID macros is moved to the generated header
files, allowing other similar macros, or DER constant arrays, to be
built on top of them.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/11868)
Diffstat (limited to 'providers/implementations/signature')
-rw-r--r-- | providers/implementations/signature/dsa.c | 3 | ||||
-rw-r--r-- | providers/implementations/signature/ecdsa.c | 2 | ||||
-rw-r--r-- | providers/implementations/signature/rsa.c | 3 |
3 files changed, 5 insertions, 3 deletions
diff --git a/providers/implementations/signature/dsa.c b/providers/implementations/signature/dsa.c index bfab22488f..9227cb181c 100644 --- a/providers/implementations/signature/dsa.c +++ b/providers/implementations/signature/dsa.c @@ -177,7 +177,8 @@ static int dsa_setup_md(PROV_DSA_CTX *ctx, */ ctx->aid_len = 0; if (WPACKET_init_der(&pkt, ctx->aid_buf, sizeof(ctx->aid_buf)) - && DER_w_algorithmIdentifier_DSA_with(&pkt, -1, ctx->dsa, md_nid) + && DER_w_algorithmIdentifier_DSA_with_MD(&pkt, -1, ctx->dsa, + md_nid) && WPACKET_finish(&pkt)) { WPACKET_get_total_written(&pkt, &ctx->aid_len); ctx->aid = WPACKET_get_curr(&pkt); diff --git a/providers/implementations/signature/ecdsa.c b/providers/implementations/signature/ecdsa.c index 267950d537..d96f597a92 100644 --- a/providers/implementations/signature/ecdsa.c +++ b/providers/implementations/signature/ecdsa.c @@ -238,7 +238,7 @@ static int ecdsa_digest_signverify_init(void *vctx, const char *mdname, */ ctx->aid_len = 0; if (WPACKET_init_der(&pkt, ctx->aid_buf, sizeof(ctx->aid_buf)) - && DER_w_algorithmIdentifier_ECDSA_with(&pkt, -1, ctx->ec, md_nid) + && DER_w_algorithmIdentifier_ECDSA_with_MD(&pkt, -1, ctx->ec, md_nid) && WPACKET_finish(&pkt)) { WPACKET_get_total_written(&pkt, &ctx->aid_len); ctx->aid = WPACKET_get_curr(&pkt); diff --git a/providers/implementations/signature/rsa.c b/providers/implementations/signature/rsa.c index 4dc3a89878..6f62c2b648 100644 --- a/providers/implementations/signature/rsa.c +++ b/providers/implementations/signature/rsa.c @@ -254,7 +254,8 @@ static int rsa_setup_md(PROV_RSA_CTX *ctx, const char *mdname, */ ctx->aid_len = 0; if (WPACKET_init_der(&pkt, ctx->aid_buf, sizeof(ctx->aid_buf)) - && DER_w_algorithmIdentifier_RSA_with(&pkt, -1, ctx->rsa, md_nid) + && DER_w_algorithmIdentifier_MDWithRSAEncryption(&pkt, -1, ctx->rsa, + md_nid) && WPACKET_finish(&pkt)) { WPACKET_get_total_written(&pkt, &ctx->aid_len); ctx->aid = WPACKET_get_curr(&pkt); |