Fix building FIPS v5 with PK callbacks

This commit is contained in:
Lealem Amedie
2024-05-21 15:07:32 -06:00
parent 287323ab4c
commit ba5cc9bdaf
3 changed files with 8 additions and 3 deletions

View File

@ -33478,7 +33478,7 @@ static int DoSessionTicket(WOLFSSL* ssl, const byte* input, word32* inOutIdx,
#ifndef NO_CERTS #ifndef NO_CERTS
#ifdef WOLF_PRIVATE_KEY_ID #if defined(WOLF_PRIVATE_KEY_ID) || defined(HAVE_PK_CALLBACKS)
int GetPrivateKeySigSize(WOLFSSL* ssl) int GetPrivateKeySigSize(WOLFSSL* ssl)
{ {
int sigSz = 0; int sigSz = 0;
@ -33519,7 +33519,7 @@ static int DoSessionTicket(WOLFSSL* ssl, const byte* input, word32* inOutIdx,
} }
return sigSz; return sigSz;
} }
#endif /* HAVE_PK_CALLBACKS */ #endif /* WOLF_PRIVATE_KEY_ID || HAVE_PK_CALLBACKS */
#endif /* NO_CERTS */ #endif /* NO_CERTS */

View File

@ -2189,7 +2189,7 @@ WOLFSSL_LOCAL int DecodePrivateKey(WOLFSSL *ssl, word32* length);
#ifdef WOLFSSL_DUAL_ALG_CERTS #ifdef WOLFSSL_DUAL_ALG_CERTS
WOLFSSL_LOCAL int DecodeAltPrivateKey(WOLFSSL *ssl, word32* length); WOLFSSL_LOCAL int DecodeAltPrivateKey(WOLFSSL *ssl, word32* length);
#endif #endif
#ifdef WOLF_PRIVATE_KEY_ID #if defined(WOLF_PRIVATE_KEY_ID) || defined(HAVE_PK_CALLBACKS)
WOLFSSL_LOCAL int GetPrivateKeySigSize(WOLFSSL* ssl); WOLFSSL_LOCAL int GetPrivateKeySigSize(WOLFSSL* ssl);
#ifndef NO_ASN #ifndef NO_ASN
WOLFSSL_LOCAL int InitSigPkCb(WOLFSSL* ssl, SignatureCtx* sigCtx); WOLFSSL_LOCAL int InitSigPkCb(WOLFSSL* ssl, SignatureCtx* sigCtx);

View File

@ -3396,6 +3396,11 @@ extern void uITRON4_free(void *p) ;
#error The SRTP extension requires DTLS #error The SRTP extension requires DTLS
#endif #endif
/* FIPS v5 and older doesn't support WOLF_PRIVATE_KEY_ID with PK callbacks */
#if defined(HAVE_FIPS) && FIPS_VERSION_LT(5,3) && defined(HAVE_PK_CALLBACKS)
#define NO_WOLF_PRIVATE_KEY_ID
#endif
/* Are we using an external private key store like: /* Are we using an external private key store like:
* PKCS11 / HSM / crypto callback / PK callback */ * PKCS11 / HSM / crypto callback / PK callback */
#if !defined(WOLF_PRIVATE_KEY_ID) && !defined(NO_WOLF_PRIVATE_KEY_ID) && \ #if !defined(WOLF_PRIVATE_KEY_ID) && !defined(NO_WOLF_PRIVATE_KEY_ID) && \