summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2021-03-09 00:59:13 +0100
committerShane Lontis <shane.lontis@oracle.com>2021-03-18 08:52:37 +0100
commit2858156e0309031da8476e51fe76f0ce8c15010f (patch)
tree5a6539b03e48efd2abc14a73bfb2227ee3fbdd32
parentAdd ossl_asn1 symbols (diff)
downloadopenssl-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.c19
-rw-r--r--crypto/dsa/dsa_sign.c2
-rw-r--r--crypto/ec/ec_asn1.c2
-rw-r--r--include/crypto/asn1_dsa.h6
-rw-r--r--providers/common/der/der_sm2.h.in6
-rw-r--r--providers/common/der/der_sm2_key.c2
-rw-r--r--providers/common/der/der_sm2_sig.c4
-rw-r--r--providers/implementations/signature/sm2sig.c2
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);