Skip to content

Commit 0789ecb

Browse files
committed
Fix the CheckCertSignature API mess.
1 parent 0b7f293 commit 0789ecb

4 files changed

Lines changed: 26 additions & 20 deletions

File tree

src/internal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14041,7 +14041,7 @@ PRAGMA_GCC_DIAG_POP
1404114041
}
1404214042

1404314043
/* perform cert parsing and signature check */
14044-
sigRet = CheckCertSignature(cert->buffer, cert->length,
14044+
sigRet = wc_CheckCertSignature(cert->buffer, cert->length,
1404514045
ssl->heap, SSL_CM(ssl));
1404614046
/* fail on errors here after the ParseCertRelative call, so dCert is populated */
1404714047

tests/api.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53043,37 +53043,37 @@ static int test_CheckCertSignature(void)
5304353043
int certSz;
5304453044
#endif
5304553045

53046-
ExpectIntEQ(BAD_FUNC_ARG, CheckCertSignature(NULL, 0, NULL, NULL));
53046+
ExpectIntEQ(BAD_FUNC_ARG, wc_CheckCertSignature(NULL, 0, NULL, NULL));
5304753047
ExpectNotNull(cm = wolfSSL_CertManagerNew_ex(NULL));
53048-
ExpectIntEQ(BAD_FUNC_ARG, CheckCertSignature(NULL, 0, NULL, cm));
53048+
ExpectIntEQ(BAD_FUNC_ARG, wc_CheckCertSignature(NULL, 0, NULL, cm));
5304953049

5305053050
#ifndef NO_RSA
5305153051
#ifdef USE_CERT_BUFFERS_1024
53052-
ExpectIntEQ(ASN_NO_SIGNER_E, CheckCertSignature(server_cert_der_1024,
53052+
ExpectIntEQ(ASN_NO_SIGNER_E, wc_CheckCertSignature(server_cert_der_1024,
5305353053
sizeof_server_cert_der_1024, NULL, cm));
5305453054
ExpectIntEQ(WOLFSSL_SUCCESS, wolfSSL_CertManagerLoadCABuffer(cm,
5305553055
ca_cert_der_1024, sizeof_ca_cert_der_1024,
5305653056
WOLFSSL_FILETYPE_ASN1));
53057-
ExpectIntEQ(0, CheckCertSignature(server_cert_der_1024,
53057+
ExpectIntEQ(0, wc_CheckCertSignature(server_cert_der_1024,
5305853058
sizeof_server_cert_der_1024, NULL, cm));
5305953059
#elif defined(USE_CERT_BUFFERS_2048)
53060-
ExpectIntEQ(ASN_NO_SIGNER_E, CheckCertSignature(server_cert_der_2048,
53060+
ExpectIntEQ(ASN_NO_SIGNER_E, wc_CheckCertSignature(server_cert_der_2048,
5306153061
sizeof_server_cert_der_2048, NULL, cm));
5306253062
ExpectIntEQ(WOLFSSL_SUCCESS, wolfSSL_CertManagerLoadCABuffer(cm,
5306353063
ca_cert_der_2048, sizeof_ca_cert_der_2048,
5306453064
WOLFSSL_FILETYPE_ASN1));
53065-
ExpectIntEQ(0, CheckCertSignature(server_cert_der_2048,
53065+
ExpectIntEQ(0, wc_CheckCertSignature(server_cert_der_2048,
5306653066
sizeof_server_cert_der_2048, NULL, cm));
5306753067
#endif
5306853068
#endif
5306953069

5307053070
#if defined(HAVE_ECC) && defined(USE_CERT_BUFFERS_256)
53071-
ExpectIntEQ(ASN_NO_SIGNER_E, CheckCertSignature(serv_ecc_der_256,
53071+
ExpectIntEQ(ASN_NO_SIGNER_E, wc_CheckCertSignature(serv_ecc_der_256,
5307253072
sizeof_serv_ecc_der_256, NULL, cm));
5307353073
ExpectIntEQ(WOLFSSL_SUCCESS, wolfSSL_CertManagerLoadCABuffer(cm,
5307453074
ca_ecc_cert_der_256, sizeof_ca_ecc_cert_der_256,
5307553075
WOLFSSL_FILETYPE_ASN1));
53076-
ExpectIntEQ(0, CheckCertSignature(serv_ecc_der_256, sizeof_serv_ecc_der_256,
53076+
ExpectIntEQ(0, wc_CheckCertSignature(serv_ecc_der_256, sizeof_serv_ecc_der_256,
5307753077
NULL, cm));
5307853078
#endif
5307953079

@@ -53088,10 +53088,10 @@ static int test_CheckCertSignature(void)
5308853088
XFCLOSE(fp);
5308953089
fp = XBADFILE;
5309053090
}
53091-
ExpectIntEQ(ASN_NO_SIGNER_E, CheckCertSignature(cert, certSz, NULL, cm));
53091+
ExpectIntEQ(ASN_NO_SIGNER_E, wc_CheckCertSignature(cert, certSz, NULL, cm));
5309253092
ExpectIntEQ(WOLFSSL_SUCCESS, wolfSSL_CertManagerLoadCA(cm,
5309353093
"./certs/ca-cert.pem", NULL));
53094-
ExpectIntEQ(0, CheckCertSignature(cert, certSz, NULL, cm));
53094+
ExpectIntEQ(0, wc_CheckCertSignature(cert, certSz, NULL, cm));
5309553095
#endif
5309653096
#ifdef HAVE_ECC
5309753097
ExpectTrue((fp = XFOPEN("./certs/server-ecc.der", "rb")) != XBADFILE);
@@ -53100,10 +53100,10 @@ static int test_CheckCertSignature(void)
5310053100
XFCLOSE(fp);
5310153101
fp = XBADFILE;
5310253102
}
53103-
ExpectIntEQ(ASN_NO_SIGNER_E, CheckCertSignature(cert, certSz, NULL, cm));
53103+
ExpectIntEQ(ASN_NO_SIGNER_E, wc_CheckCertSignature(cert, certSz, NULL, cm));
5310453104
ExpectIntEQ(WOLFSSL_SUCCESS, wolfSSL_CertManagerLoadCA(cm,
5310553105
"./certs/ca-ecc-cert.pem", NULL));
53106-
ExpectIntEQ(0, CheckCertSignature(cert, certSz, NULL, cm));
53106+
ExpectIntEQ(0, wc_CheckCertSignature(cert, certSz, NULL, cm));
5310753107
#endif
5310853108
#endif
5310953109

wolfcrypt/src/asn.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23225,6 +23225,7 @@ int CheckCertSignaturePubKey(const byte* cert, word32 certSz, void* heap,
2322523225
pubKey, pubKeySz, pubKeyOID, 0);
2322623226
}
2322723227

23228+
/* Call CheckCertSignature_ex using a public key and oid */
2322823229
int wc_CheckCertSigPubKey(const byte* cert, word32 certSz, void* heap,
2322923230
const byte* pubKey, word32 pubKeySz, int pubKeyOID)
2323023231
{
@@ -23241,9 +23242,8 @@ int CheckCSRSignaturePubKey(const byte* cert, word32 certSz, void* heap,
2324123242
}
2324223243
#endif /* WOLFSSL_CERT_REQ */
2324323244

23244-
/* Call CheckCertSignature_ex using a certificate manager (cm)
23245-
*/
23246-
int CheckCertSignature(const byte* cert, word32 certSz, void* heap, void* cm)
23245+
/* Call CheckCertSignature_ex using a certificate manager (cm) */
23246+
int wc_CheckCertSignature(const byte* cert, word32 certSz, void* heap, void* cm)
2324723247
{
2324823248
return CheckCertSignature_ex(cert, certSz, heap, cm, NULL, 0, 0, 0);
2324923249
}

wolfssl/wolfcrypt/asn.h

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2135,14 +2135,20 @@ WOLFSSL_LOCAL int DecodePolicyOID(char *out, word32 outSz, const byte *in,
21352135
word32 inSz);
21362136
WOLFSSL_LOCAL int EncodePolicyOID(byte *out, word32 *outSz,
21372137
const char *in, void* heap);
2138-
WOLFSSL_API int CheckCertSignature(const byte*,word32,void*,void* cm);
21392138
WOLFSSL_LOCAL int CheckCertSignaturePubKey(const byte* cert, word32 certSz,
21402139
void* heap, const byte* pubKey, word32 pubKeySz, int pubKeyOID);
21412140
#if defined(OPENSSL_EXTRA) || defined(WOLFSSL_SMALL_CERT_VERIFY)
2142-
WOLFSSL_API int wc_CheckCertSigPubKey(const byte* cert, word32 certSz,
2143-
void* heap, const byte* pubKey,
2144-
word32 pubKeySz, int pubKeyOID);
2141+
WOLFSSL_API int wc_CheckCertSignature(const byte* cert, word32 certSz,
2142+
void* heap, void* cm);
2143+
/* Depricated public API name kept for backwards build compatibility */
2144+
#define CheckCertSignature(cert, certSz, heap, cm) \
2145+
wc_CheckCertSignature(cert, certSz, heap, cm)
2146+
2147+
WOLFSSL_API int wc_CheckCertSigPubKey(const byte* cert, word32 certSz,
2148+
void* heap, const byte* pubKey,
2149+
word32 pubKeySz, int pubKeyOID);
21452150
#endif /* OPENSSL_EXTRA || WOLFSSL_SMALL_CERT_VERIFY */
2151+
21462152
#ifdef WOLFSSL_DUAL_ALG_CERTS
21472153
WOLFSSL_LOCAL int wc_ConfirmAltSignature(
21482154
const byte* buf, word32 bufSz,

0 commit comments

Comments
 (0)