diff options
author | Shane Lontis <shane.lontis@oracle.com> | 2021-03-09 00:59:13 +0100 |
---|---|---|
committer | Shane Lontis <shane.lontis@oracle.com> | 2021-03-18 08:52:37 +0100 |
commit | 2858156e0309031da8476e51fe76f0ce8c15010f (patch) | |
tree | 5a6539b03e48efd2abc14a73bfb2227ee3fbdd32 | |
parent | Add ossl_asn1 symbols (diff) | |
download | openssl-2858156e0309031da8476e51fe76f0ce8c15010f.tar.xz openssl-2858156e0309031da8476e51fe76f0ce8c15010f.zip |
Add ossl_encode symbols
Partial fix for #12964
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14473)
-rw-r--r-- | crypto/asn1_dsa.c | 19 | ||||
-rw-r--r-- | crypto/dsa/dsa_sign.c | 2 | ||||
-rw-r--r-- | crypto/ec/ec_asn1.c | 2 | ||||
-rw-r--r-- | include/crypto/asn1_dsa.h | 6 | ||||
-rw-r--r-- | providers/common/der/der_sm2.h.in | 6 | ||||
-rw-r--r-- | providers/common/der/der_sm2_key.c | 2 | ||||
-rw-r--r-- | providers/common/der/der_sm2_sig.c | 4 | ||||
-rw-r--r-- | providers/implementations/signature/sm2sig.c | 2 |
8 files changed, 21 insertions, 22 deletions
diff --git a/crypto/asn1_dsa.c b/crypto/asn1_dsa.c index cb48ae9956..59642f4b3c 100644 --- a/crypto/asn1_dsa.c +++ b/crypto/asn1_dsa.c @@ -36,7 +36,7 @@ * * Returns 1 on success or 0 on error. */ -int encode_der_length(WPACKET *pkt, size_t cont_len) +int ossl_encode_der_length(WPACKET *pkt, size_t cont_len) { if (cont_len > 0xffff) return 0; /* Too large for supported length encodings */ @@ -63,7 +63,7 @@ int encode_der_length(WPACKET *pkt, size_t cont_len) * * Returns 1 on success or 0 on error. */ -int encode_der_integer(WPACKET *pkt, const BIGNUM *n) +int ossl_encode_der_integer(WPACKET *pkt, const BIGNUM *n) { unsigned char *bnbytes; size_t cont_len; @@ -84,7 +84,7 @@ int encode_der_integer(WPACKET *pkt, const BIGNUM *n) if (!WPACKET_start_sub_packet(pkt) || !WPACKET_put_bytes_u8(pkt, ID_INTEGER) - || !encode_der_length(pkt, cont_len) + || !ossl_encode_der_length(pkt, cont_len) || !WPACKET_allocate_bytes(pkt, cont_len, &bnbytes) || !WPACKET_close(pkt)) return 0; @@ -103,7 +103,7 @@ int encode_der_integer(WPACKET *pkt, const BIGNUM *n) * * Returns 1 on success or 0 on error. */ -int encode_der_dsa_sig(WPACKET *pkt, const BIGNUM *r, const BIGNUM *s) +int ossl_encode_der_dsa_sig(WPACKET *pkt, const BIGNUM *r, const BIGNUM *s) { WPACKET tmppkt, *dummypkt; size_t cont_len; @@ -122,8 +122,8 @@ int encode_der_dsa_sig(WPACKET *pkt, const BIGNUM *r, const BIGNUM *s) } /* Calculate the content length */ - if (!encode_der_integer(dummypkt, r) - || !encode_der_integer(dummypkt, s) + if (!ossl_encode_der_integer(dummypkt, r) + || !ossl_encode_der_integer(dummypkt, s) || !WPACKET_get_length(dummypkt, &cont_len) || (!isnull && !WPACKET_finish(dummypkt))) { if (!isnull) @@ -133,13 +133,13 @@ int encode_der_dsa_sig(WPACKET *pkt, const BIGNUM *r, const BIGNUM *s) /* Add the tag and length bytes */ if (!WPACKET_put_bytes_u8(pkt, ID_SEQUENCE) - || !encode_der_length(pkt, cont_len) + || !ossl_encode_der_length(pkt, cont_len) /* * Really encode the integers. We already wrote to the main pkt * if it had a NULL buffer, so don't do it again */ - || (!isnull && !encode_der_integer(pkt, r)) - || (!isnull && !encode_der_integer(pkt, s)) + || (!isnull && !ossl_encode_der_integer(pkt, r)) + || (!isnull && !ossl_encode_der_integer(pkt, s)) || !WPACKET_close(pkt)) return 0; @@ -250,4 +250,3 @@ size_t ossl_decode_der_dsa_sig(BIGNUM *r, BIGNUM *s, *ppin += consumed; return consumed; } - diff --git a/crypto/dsa/dsa_sign.c b/crypto/dsa/dsa_sign.c index 6819e5c131..6e87bd1657 100644 --- a/crypto/dsa/dsa_sign.c +++ b/crypto/dsa/dsa_sign.c @@ -95,7 +95,7 @@ int i2d_DSA_SIG(const DSA_SIG *sig, unsigned char **ppout) return -1; } - if (!encode_der_dsa_sig(&pkt, sig->r, sig->s) + if (!ossl_encode_der_dsa_sig(&pkt, sig->r, sig->s) || !WPACKET_get_total_written(&pkt, &encoded_len) || !WPACKET_finish(&pkt)) { BUF_MEM_free(buf); diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c index 03c65ee403..ed30d1b3a9 100644 --- a/crypto/ec/ec_asn1.c +++ b/crypto/ec/ec_asn1.c @@ -1245,7 +1245,7 @@ int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **ppout) return -1; } - if (!encode_der_dsa_sig(&pkt, sig->r, sig->s) + if (!ossl_encode_der_dsa_sig(&pkt, sig->r, sig->s) || !WPACKET_get_total_written(&pkt, &encoded_len) || !WPACKET_finish(&pkt)) { BUF_MEM_free(buf); diff --git a/include/crypto/asn1_dsa.h b/include/crypto/asn1_dsa.h index 2657dae0f4..3eadb9ec3c 100644 --- a/include/crypto/asn1_dsa.h +++ b/include/crypto/asn1_dsa.h @@ -13,9 +13,9 @@ #include "internal/packet.h" -int encode_der_length(WPACKET *pkt, size_t cont_len); -int encode_der_integer(WPACKET *pkt, const BIGNUM *n); -int encode_der_dsa_sig(WPACKET *pkt, const BIGNUM *r, const BIGNUM *s); +int ossl_encode_der_length(WPACKET *pkt, size_t cont_len); +int ossl_encode_der_integer(WPACKET *pkt, const BIGNUM *n); +int ossl_encode_der_dsa_sig(WPACKET *pkt, const BIGNUM *r, const BIGNUM *s); int ossl_decode_der_length(PACKET *pkt, PACKET *subpkt); int ossl_decode_der_integer(PACKET *pkt, BIGNUM *n); size_t ossl_decode_der_dsa_sig(BIGNUM *r, BIGNUM *s, const unsigned char **ppin, diff --git a/providers/common/der/der_sm2.h.in b/providers/common/der/der_sm2.h.in index 1cc330fcea..fe21095e59 100644 --- a/providers/common/der/der_sm2.h.in +++ b/providers/common/der/der_sm2.h.in @@ -18,7 +18,7 @@ -} /* Subject Public Key Info */ -int DER_w_algorithmIdentifier_SM2(WPACKET *pkt, int cont, EC_KEY *ec); +int ossl_DER_w_algorithmIdentifier_SM2(WPACKET *pkt, int cont, EC_KEY *ec); /* Signature */ -int DER_w_algorithmIdentifier_SM2_with_MD(WPACKET *pkt, int cont, - EC_KEY *ec, int mdnid); +int ossl_DER_w_algorithmIdentifier_SM2_with_MD(WPACKET *pkt, int cont, + EC_KEY *ec, int mdnid); diff --git a/providers/common/der/der_sm2_key.c b/providers/common/der/der_sm2_key.c index a766bb4f3d..5889f2ba0e 100644 --- a/providers/common/der/der_sm2_key.c +++ b/providers/common/der/der_sm2_key.c @@ -12,7 +12,7 @@ #include "prov/der_ec.h" #include "prov/der_sm2.h" -int DER_w_algorithmIdentifier_SM2(WPACKET *pkt, int cont, EC_KEY *ec) +int ossl_DER_w_algorithmIdentifier_SM2(WPACKET *pkt, int cont, EC_KEY *ec) { return ossl_DER_w_begin_sequence(pkt, cont) /* No parameters (yet?) */ diff --git a/providers/common/der/der_sm2_sig.c b/providers/common/der/der_sm2_sig.c index 7b710cfa53..1e904bb5cd 100644 --- a/providers/common/der/der_sm2_sig.c +++ b/providers/common/der/der_sm2_sig.c @@ -20,8 +20,8 @@ precompiled_sz = sizeof(ossl_der_oid_id_sm2_with_##name); \ break; -int DER_w_algorithmIdentifier_SM2_with_MD(WPACKET *pkt, int cont, - EC_KEY *ec, int mdnid) +int ossl_DER_w_algorithmIdentifier_SM2_with_MD(WPACKET *pkt, int cont, + EC_KEY *ec, int mdnid) { const unsigned char *precompiled = NULL; size_t precompiled_sz = 0; diff --git a/providers/implementations/signature/sm2sig.c b/providers/implementations/signature/sm2sig.c index 4201e825b1..6fb0ff919b 100644 --- a/providers/implementations/signature/sm2sig.c +++ b/providers/implementations/signature/sm2sig.c @@ -201,7 +201,7 @@ static int sm2sig_digest_signverify_init(void *vpsm2ctx, const char *mdname, */ ctx->aid_len = 0; if (WPACKET_init_der(&pkt, ctx->aid_buf, sizeof(ctx->aid_buf)) - && DER_w_algorithmIdentifier_SM2_with_MD(&pkt, -1, ctx->ec, md_nid) + && ossl_DER_w_algorithmIdentifier_SM2_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); |