Skip to content

Commit 3d4e929

Browse files
authored
Merge pull request #10173 from SparkiDev/init_cert_sha1
Initialize certificate: default to SHA-1 when necessary
2 parents 77b0939 + ecd925f commit 3d4e929

3 files changed

Lines changed: 63 additions & 9 deletions

File tree

tests/api/test_ossl_x509_crypto.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,8 +698,16 @@ int test_wolfSSL_make_cert(void)
698698
cert.isCA = 1;
699699
#ifndef NO_SHA256
700700
cert.sigType = CTC_SHA256wRSA;
701-
#else
701+
#elif defined(WOLFSSL_SHA384)
702+
cert.sigType = CTC_SHA384wRSA;
703+
#elif defined(WOLFSSL_SHA512)
704+
cert.sigType = CTC_SHA512wRSA;
705+
#elif defined(WOLFSSL_SHA224)
706+
cert.sigType = CTC_SHA224wRSA;
707+
#elif !defined(NO_SHA)
702708
cert.sigType = CTC_SHAwRSA;
709+
#else
710+
#error "No signature type available"
703711
#endif
704712

705713
/* add SKID from the Public Key */

wolfcrypt/src/asn.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24985,10 +24985,16 @@ int wc_InitCert_ex(Cert* cert, void* heap, int devId)
2498524985
XMEMSET(cert, 0, sizeof(Cert));
2498624986

2498724987
cert->version = 2; /* version 3 is hex 2 */
24988-
#ifndef NO_SHA
24989-
cert->sigType = CTC_SHAwRSA;
24990-
#elif !defined(NO_SHA256)
24988+
#if !defined(NO_SHA256)
2499124989
cert->sigType = CTC_SHA256wRSA;
24990+
#elif defined(WOLFSSL_SHA384)
24991+
cert->sigType = CTC_SHA384wRSA;
24992+
#elif defined(WOLFSSL_SHA512)
24993+
cert->sigType = CTC_SHA512wRSA;
24994+
#elif defined(WOLFSSL_SHA224)
24995+
cert->sigType = CTC_SHA224wRSA;
24996+
#elif !defined(NO_SHA)
24997+
cert->sigType = CTC_SHAwRSA;
2499224998
#else
2499324999
cert->sigType = 0;
2499425000
#endif

wolfcrypt/test/test.c

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24505,8 +24505,16 @@ static wc_test_ret_t rsa_certgen_test(RsaKey* key, RsaKey* keypub, WC_RNG* rng,
2450524505
myCert->isCA = 1;
2450624506
#ifndef NO_SHA256
2450724507
myCert->sigType = CTC_SHA256wRSA;
24508-
#else
24508+
#elif defined(WOLFSSL_SHA384)
24509+
myCert->sigType = CTC_SHA384wRSA;
24510+
#elif defined(WOLFSSL_SHA512)
24511+
myCert->sigType = CTC_SHA512wRSA;
24512+
#elif defined(WOLFSSL_SHA224)
24513+
myCert->sigType = CTC_SHA224wRSA;
24514+
#elif !defined(NO_SHA)
2450924515
myCert->sigType = CTC_SHAwRSA;
24516+
#else
24517+
#error "No signature type available"
2451024518
#endif
2451124519

2451224520
#ifdef WOLFSSL_CERT_EXT
@@ -24652,8 +24660,16 @@ static wc_test_ret_t rsa_certgen_test(RsaKey* key, RsaKey* keypub, WC_RNG* rng,
2465224660

2465324661
#ifndef NO_SHA256
2465424662
myCert->sigType = CTC_SHA256wRSA;
24655-
#else
24663+
#elif defined(WOLFSSL_SHA384)
24664+
myCert->sigType = CTC_SHA384wRSA;
24665+
#elif defined(WOLFSSL_SHA512)
24666+
myCert->sigType = CTC_SHA512wRSA;
24667+
#elif defined(WOLFSSL_SHA224)
24668+
myCert->sigType = CTC_SHA224wRSA;
24669+
#elif !defined(NO_SHA)
2465624670
myCert->sigType = CTC_SHAwRSA;
24671+
#else
24672+
#error "No signature type available"
2465724673
#endif
2465824674

2465924675
XMEMCPY(&myCert->subject, &certDefaultName, sizeof(CertName));
@@ -24878,8 +24894,16 @@ static wc_test_ret_t rsa_ecc_certgen_test(WC_RNG* rng, byte* tmp)
2487824894

2487924895
#ifndef NO_SHA256
2488024896
myCert->sigType = CTC_SHA256wRSA;
24881-
#else
24897+
#elif defined(WOLFSSL_SHA384)
24898+
myCert->sigType = CTC_SHA384wRSA;
24899+
#elif defined(WOLFSSL_SHA512)
24900+
myCert->sigType = CTC_SHA512wRSA;
24901+
#elif defined(WOLFSSL_SHA224)
24902+
myCert->sigType = CTC_SHA224wRSA;
24903+
#elif !defined(NO_SHA)
2488224904
myCert->sigType = CTC_SHAwRSA;
24905+
#else
24906+
#error "No signature type available"
2488324907
#endif
2488424908

2488524909
XMEMCPY(&myCert->subject, &certDefaultName, sizeof(CertName));
@@ -25981,8 +26005,16 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t rsa_test(void)
2598126005

2598226006
#ifndef NO_SHA256
2598326007
req->sigType = CTC_SHA256wRSA;
25984-
#else
26008+
#elif defined(WOLFSSL_SHA384)
26009+
req->sigType = CTC_SHA384wRSA;
26010+
#elif defined(WOLFSSL_SHA512)
26011+
req->sigType = CTC_SHA512wRSA;
26012+
#elif defined(WOLFSSL_SHA224)
26013+
req->sigType = CTC_SHA224wRSA;
26014+
#elif !defined(NO_SHA)
2598526015
req->sigType = CTC_SHAwRSA;
26016+
#else
26017+
#error "No signature type available"
2598626018
#endif
2598726019

2598826020
#ifdef WOLFSSL_CERT_EXT
@@ -37094,8 +37126,16 @@ static wc_test_ret_t ecc_test_cert_gen(WC_RNG* rng)
3709437126

3709537127
#ifndef NO_SHA256
3709637128
myCert->sigType = CTC_SHA256wECDSA;
37097-
#else
37129+
#elif defined(WOLFSSL_SHA384)
37130+
myCert->sigType = CTC_SHA384wECDSA;
37131+
#elif defined(WOLFSSL_SHA512)
37132+
myCert->sigType = CTC_SHA512wECDSA;
37133+
#elif defined(WOLFSSL_SHA224)
37134+
myCert->sigType = CTC_SHA224wECDSA;
37135+
#elif !defined(NO_SHA)
3709837136
myCert->sigType = CTC_SHAwECDSA;
37137+
#else
37138+
#error "No signature type available"
3709937139
#endif
3710037140
XMEMCPY(&myCert->subject, &certDefaultName, sizeof(CertName));
3710137141

0 commit comments

Comments
 (0)