Merge pull request #7568 from lealem47/fips_pkcallback

Fix building FIPS v5 with PK callbacks
This commit is contained in:
David Garske
2024-05-22 08:45:58 -07:00
committed by GitHub
3 changed files with 8 additions and 3 deletions

View File

@ -33521,7 +33521,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;
@ -33562,7 +33562,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

@ -2191,7 +2191,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

@ -3400,6 +3400,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) && \