Skip to content

Commit f7507f1

Browse files
authored
Merge pull request #7186 from douzzer/20240129-fix-wc_RsaFunction_ex
20240129-fix-wc_RsaFunction_ex
2 parents de91add + 3d3c079 commit f7507f1

2 files changed

Lines changed: 30 additions & 54 deletions

File tree

wolfcrypt/src/ecc.c

Lines changed: 26 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -4570,20 +4570,15 @@ int wc_ecc_shared_secret(ecc_key* private_key, ecc_key* public_key, byte* out,
45704570
#endif
45714571
{
45724572
err = wc_CryptoCb_Ecdh(private_key, public_key, out, outlen);
4573-
#ifndef WOLF_CRYPTO_CB_ONLY_ECC
45744573
if (err != CRYPTOCB_UNAVAILABLE)
45754574
return err;
45764575
/* fall-through when unavailable */
4577-
#endif
4578-
#ifdef WOLF_CRYPTO_CB_ONLY_ECC
4579-
if (err == CRYPTOCB_UNAVAILABLE) {
4580-
err = NO_VALID_DEVID;
4581-
}
4582-
#endif
45834576
}
45844577
#endif
45854578

4586-
#ifndef WOLF_CRYPTO_CB_ONLY_ECC
4579+
#ifdef WOLF_CRYPTO_CB_ONLY_ECC
4580+
return NO_VALID_DEVID;
4581+
#else /* !WOLF_CRYPTO_CB_ONLY_ECC */
45874582
/* type valid? */
45884583
if (private_key->type != ECC_PRIVATEKEY &&
45894584
private_key->type != ECC_PRIVATEKEY_ONLY) {
@@ -4632,7 +4627,7 @@ int wc_ecc_shared_secret(ecc_key* private_key, ecc_key* public_key, byte* out,
46324627
#else
46334628
err = wc_ecc_shared_secret_ex(private_key, &public_key->pubkey, out, outlen);
46344629
#endif /* WOLFSSL_ATECC508A */
4635-
#endif /* WOLF_CRYPTO_CB_ONLY_ECC */
4630+
#endif /* !WOLF_CRYPTO_CB_ONLY_ECC */
46364631

46374632
return err;
46384633
}
@@ -5529,21 +5524,15 @@ static int _ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key,
55295524
#endif
55305525
{
55315526
err = wc_CryptoCb_MakeEccKey(rng, keysize, key, curve_id);
5532-
#ifndef WOLF_CRYPTO_CB_ONLY_ECC
55335527
if (err != CRYPTOCB_UNAVAILABLE)
55345528
return err;
55355529
/* fall-through when unavailable */
5536-
#endif
5537-
#ifdef WOLF_CRYPTO_CB_ONLY_ECC
5538-
if (err == CRYPTOCB_UNAVAILABLE) {
5539-
return NO_VALID_DEVID;
5540-
}
5541-
return err;
5542-
#endif
55435530
}
55445531
#endif
55455532

5546-
#ifndef WOLF_CRYPTO_CB_ONLY_ECC
5533+
#ifdef WOLF_CRYPTO_CB_ONLY_ECC
5534+
return NO_VALID_DEVID;
5535+
#else /* !WOLF_CRYPTO_CB_ONLY_ECC */
55475536
#if defined(WOLFSSL_ASYNC_CRYPT) && defined(WC_ASYNC_ENABLE_ECC)
55485537
if (key->asyncDev.marker == WOLFSSL_ASYNC_MARKER_ECC) {
55495538
#ifdef HAVE_CAVIUM
@@ -5859,7 +5848,7 @@ static int _ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key,
58595848
#endif /* HAVE_ECC_MAKE_PUB */
58605849

58615850
return err;
5862-
#endif /* WOLF_CRYPTO_CB_ONLY_ECC */
5851+
#endif /* !WOLF_CRYPTO_CB_ONLY_ECC */
58635852
}
58645853

58655854

@@ -6563,20 +6552,20 @@ int wc_ecc_sign_hash(const byte* in, word32 inlen, byte* out, word32 *outlen,
65636552
#endif
65646553
{
65656554
err = wc_CryptoCb_EccSign(in, inlen, out, outlen, rng, key);
6566-
#ifndef WOLF_CRYPTO_CB_ONLY_ECC
65676555
if (err != CRYPTOCB_UNAVAILABLE)
65686556
return err;
65696557
/* fall-through when unavailable */
6570-
#endif
6571-
#ifdef WOLF_CRYPTO_CB_ONLY_ECC
6572-
if (err == CRYPTOCB_UNAVAILABLE) {
6573-
err = NO_VALID_DEVID;
6574-
}
6575-
#endif
65766558
}
65776559
#endif
65786560

6579-
#ifndef WOLF_CRYPTO_CB_ONLY_ECC
6561+
#ifdef WOLF_CRYPTO_CB_ONLY_ECC
6562+
(void)rng;
6563+
(void)inlen;
6564+
(void)s;
6565+
(void)r;
6566+
(void)err;
6567+
return NO_VALID_DEVID;
6568+
#else /* !WOLF_CRYPTO_CB_ONLY_ECC */
65806569
if (rng == NULL) {
65816570
WOLFSSL_MSG("ECC sign RNG missing");
65826571
return ECC_BAD_ARG_E;
@@ -6640,15 +6629,8 @@ int wc_ecc_sign_hash(const byte* in, word32 inlen, byte* out, word32 *outlen,
66406629
FREE_MP_INT_SIZE(s, key->heap, DYNAMIC_TYPE_ECC);
66416630
FREE_MP_INT_SIZE(r, key->heap, DYNAMIC_TYPE_ECC);
66426631
#endif /* WOLFSSL_ASYNC_CRYPT */
6643-
#else
6644-
(void)rng;
6645-
(void)inlen;
6646-
(void)s;
6647-
(void)r;
6648-
(void)err;
6649-
#endif /* WOLF_CRYPTO_CB_ONLY_ECC */
6650-
66516632
return err;
6633+
#endif /* !WOLF_CRYPTO_CB_ONLY_ECC */
66526634
}
66536635
#endif /* !NO_ASN */
66546636

@@ -8289,21 +8271,20 @@ int wc_ecc_verify_hash(const byte* sig, word32 siglen, const byte* hash,
82898271
#endif
82908272
{
82918273
err = wc_CryptoCb_EccVerify(sig, siglen, hash, hashlen, res, key);
8292-
#ifndef WOLF_CRYPTO_CB_ONLY_ECC
82938274
if (err != CRYPTOCB_UNAVAILABLE)
82948275
return err;
82958276
/* fall-through when unavailable */
8296-
#endif
8297-
#ifdef WOLF_CRYPTO_CB_ONLY_ECC
8298-
if (err == CRYPTOCB_UNAVAILABLE) {
8299-
err = NO_VALID_DEVID;
8300-
}
8301-
#endif
83028277
}
83038278
#endif
83048279

8305-
#ifndef WOLF_CRYPTO_CB_ONLY_ECC
8306-
8280+
#ifdef WOLF_CRYPTO_CB_ONLY_ECC
8281+
(void)siglen;
8282+
(void)hashlen;
8283+
(void)s;
8284+
(void)r;
8285+
(void)err;
8286+
return NO_VALID_DEVID;
8287+
#else /* !WOLF_CRYPTO_CB_ONLY_ECC */
83078288
#if defined(WOLFSSL_ASYNC_CRYPT) && defined(WC_ASYNC_ENABLE_ECC)
83088289
err = wc_ecc_alloc_async(key);
83098290
if (err != 0)
@@ -8415,15 +8396,8 @@ int wc_ecc_verify_hash(const byte* sig, word32 siglen, const byte* hash,
84158396

84168397
/* make sure required variables are reset */
84178398
wc_ecc_reset(key);
8418-
#else
8419-
(void)siglen;
8420-
(void)hashlen;
8421-
(void)s;
8422-
(void)r;
8423-
(void)err;
8424-
#endif /* WOLF_CRYPTO_CB_ONLY_ECC */
8425-
84268399
return err;
8400+
#endif /* !WOLF_CRYPTO_CB_ONLY_ECC */
84278401
}
84288402
#endif /* !NO_ASN */
84298403

wolfcrypt/src/rsa.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3141,7 +3141,9 @@ static int wc_RsaFunction_ex(const byte* in, word32 inLen, byte* out,
31413141
}
31423142
#endif
31433143

3144-
#ifndef WOLF_CRYPTO_CB_ONLY_RSA
3144+
#ifdef WOLF_CRYPTO_CB_ONLY_RSA
3145+
return NO_VALID_DEVID;
3146+
#else /* !WOLF_CRYPTO_CB_ONLY_RSA */
31453147
SAVE_VECTOR_REGISTERS(return _svr_ret;);
31463148

31473149
#if !defined(WOLFSSL_RSA_VERIFY_ONLY) && !defined(TEST_UNPAD_CONSTANT_TIME) && \
@@ -3192,7 +3194,7 @@ static int wc_RsaFunction_ex(const byte* in, word32 inLen, byte* out,
31923194
wc_RsaCleanup(key);
31933195
}
31943196
return ret;
3195-
#endif /* WOLF_CRYPTO_CB_ONLY_RSA */
3197+
#endif /* !WOLF_CRYPTO_CB_ONLY_RSA */
31963198
}
31973199

31983200
int wc_RsaFunction(const byte* in, word32 inLen, byte* out,

0 commit comments

Comments
 (0)