Skip to content

Commit 018af47

Browse files
authored
Merge pull request #9260 from douzzer/20251001-wc_DhGeneratePublic-ungate
20251001-wc_DhGeneratePublic-ungate
2 parents 56524a3 + 2ca9f66 commit 018af47

File tree

4 files changed

+13
-16
lines changed

4 files changed

+13
-16
lines changed

.wolfssl_known_macro_extras

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,7 @@ NO_STDIO_FGETS_REMAP
420420
NO_TKERNEL_MEM_POOL
421421
NO_TLSX_PSKKEM_PLAIN_ANNOUNCE
422422
NO_VERIFY_OID
423+
NO_WC_DHGENERATEPUBLIC
423424
NO_WC_SSIZE_TYPE
424425
NO_WOLFSSL_ALLOC_ALIGN
425426
NO_WOLFSSL_AUTOSAR_CRYIF
@@ -782,7 +783,6 @@ WOLFSSL_NO_CT_MAX_MIN
782783
WOLFSSL_NO_DECODE_EXTRA
783784
WOLFSSL_NO_DER_TO_PEM
784785
WOLFSSL_NO_DH186
785-
WOLFSSL_NO_DH_GEN_PUB
786786
WOLFSSL_NO_DTLS_SIZE_CHECK
787787
WOLFSSL_NO_ETM_ALERT
788788
WOLFSSL_NO_FENCE

wolfcrypt/src/dh.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1373,7 +1373,6 @@ static int GeneratePublicDh(DhKey* key, byte* priv, word32 privSz,
13731373
return ret;
13741374
}
13751375

1376-
#if defined(WOLFSSL_DH_GEN_PUB)
13771376
/**
13781377
* Given a DhKey with set params and a priv key, generate the corresponding
13791378
* public key. If fips, does pub key validation.
@@ -1403,7 +1402,6 @@ int wc_DhGeneratePublic(DhKey* key, byte* priv, word32 privSz,
14031402

14041403
return ret;
14051404
}
1406-
#endif /* WOLFSSL_DH_GEN_PUB */
14071405

14081406
static int wc_DhGenerateKeyPair_Sync(DhKey* key, WC_RNG* rng,
14091407
byte* priv, word32* privSz, byte* pub, word32* pubSz)

wolfcrypt/test/test.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23614,7 +23614,15 @@ static wc_test_ret_t dh_ffdhe_test(WC_RNG *rng, int name)
2361423614
ERROR_OUT(WC_TEST_RET_ENC_NC, done);
2361523615
}
2361623616

23617-
#if defined(WOLFSSL_DH_GEN_PUB) && defined(WOLFSSL_DH_EXTRA)
23617+
/* wc_DhGeneratePublic_fips() was added in 5.2.3, but some customers are
23618+
* building with configure scripts that set version to 5.2.1, but with 5.2.3
23619+
* wolfCrypt sources.
23620+
*/
23621+
#if !(defined(HAVE_SELFTEST) || \
23622+
(defined(HAVE_FIPS) && FIPS_VERSION3_LT(5,2,3)) || \
23623+
FIPS_VERSION3_EQ(6,0,0) || \
23624+
defined(NO_WC_DHGENERATEPUBLIC))
23625+
2361823626
/* additional test for wc_DhGeneratePublic:
2361923627
* 1. reset key2.
2362023628
* 2. using priv from dh key 1, generate pub2 with
@@ -23646,7 +23654,7 @@ static wc_test_ret_t dh_ffdhe_test(WC_RNG *rng, int name)
2364623654
if (pubSz != pubSz2 || XMEMCMP(pub, pub2, pubSz)) {
2364723655
ERROR_OUT(WC_TEST_RET_ENC_NC, done);
2364823656
}
23649-
#endif /* WOLFSSL_DH_GEN_PUB && WOLFSSL_DH_EXTRA */
23657+
#endif /* !(HAVE_SELFTEST || FIPS <5.2.3 || FIPS == 6.0.0 || NO_WC_DHGENERATEPUBLIC */
2365023658

2365123659
#if (defined(WOLFSSL_HAVE_SP_DH) || defined(USE_FAST_MATH)) && \
2365223660
!defined(HAVE_INTEL_QA)

wolfssl/wolfcrypt/dh.h

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -171,17 +171,8 @@ WOLFSSL_API int wc_DhCmpNamedKey(int name, int noQ,
171171
const byte* q, word32 qSz);
172172
WOLFSSL_API int wc_DhCopyNamedKey(int name,
173173
byte* p, word32* pSz, byte* g, word32* gSz, byte* q, word32* qSz);
174-
175-
#ifndef WOLFSSL_NO_DH_GEN_PUB
176-
#if defined(WOLFSSL_DH_EXTRA) && !defined(WOLFSSL_DH_GEN_PUB)
177-
#define WOLFSSL_DH_GEN_PUB
178-
#endif
179-
#ifdef WOLFSSL_DH_GEN_PUB
180-
WOLFSSL_API int wc_DhGeneratePublic(DhKey* key, byte* priv,
181-
word32 privSz, byte* pub,
182-
word32* pubSz);
183-
#endif /* WOLFSSL_DH_GEN_PUB */
184-
#endif /* !WOLFSSL_NO_DH_GEN_PUB */
174+
WOLFSSL_API int wc_DhGeneratePublic(DhKey* key, byte* priv,
175+
word32 privSz, byte* pub, word32* pubSz);
185176

186177
#ifdef WOLFSSL_DH_EXTRA
187178
WOLFSSL_API int wc_DhImportKeyPair(DhKey* key, const byte* priv, word32 privSz,

0 commit comments

Comments
 (0)