forked from wolfSSL/wolfssl
Merge pull request #821 from SparkiDev/wpas_fips
FIPS changes and fixups for wpa_supplicant
This commit is contained in:
12
configure.ac
12
configure.ac
@@ -342,7 +342,8 @@ if test "$ENABLED_WPAS" = "yes"
|
|||||||
then
|
then
|
||||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_SECRET_CALLBACK -DWOLFSSL_STATIC_RSA"
|
AM_CFLAGS="$AM_CFLAGS -DHAVE_SECRET_CALLBACK -DWOLFSSL_STATIC_RSA"
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_PUBLIC_MP -DWOLFSSL_PUBLIC_ECC_ADD_DBL"
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_PUBLIC_MP -DWOLFSSL_PUBLIC_ECC_ADD_DBL"
|
||||||
AM_CFLAGS="$AM_CFLAGS -DATOMIC_USER"
|
AM_CFLAGS="$AM_CFLAGS -DATOMIC_USER -DHAVE_EX_DATA -DWOLFSSL_KEEP_PEER_CERT"
|
||||||
|
AM_CFLAGS="$AM_CFLAGS -DHAVE_EXT_CACHE"
|
||||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WPAS"
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WPAS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -361,7 +362,7 @@ fi
|
|||||||
|
|
||||||
if test "$ENABLED_FORTRESS" = "yes"
|
if test "$ENABLED_FORTRESS" = "yes"
|
||||||
then
|
then
|
||||||
AM_CFLAGS="$AM_CFLAGS -DFORTRESS -DWOLFSSL_ALWAYS_VERIFY_CB -DOPENSSL_EXTRA -DWOLFSSL_DES_ECB -DWOLFSSL_AES_COUNTER -DWOLFSSL_AES_DIRECT -DWOLFSSL_DER_LOAD -DWOLFSSL_SHA512 -DWOLFSSL_SHA384 -DWOLFSSL_KEY_GEN"
|
AM_CFLAGS="$AM_CFLAGS -DFORTRESS -DWOLFSSL_ALWAYS_VERIFY_CB -DOPENSSL_EXTRA -DWOLFSSL_AES_COUNTER -DWOLFSSL_AES_DIRECT -DWOLFSSL_DER_LOAD -DWOLFSSL_SHA512 -DWOLFSSL_SHA384 -DWOLFSSL_KEY_GEN"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -1578,6 +1579,11 @@ then
|
|||||||
ENABLED_DES3="yes"
|
ENABLED_DES3="yes"
|
||||||
fi
|
fi
|
||||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_FIPS"
|
AM_CFLAGS="$AM_CFLAGS -DHAVE_FIPS"
|
||||||
|
else
|
||||||
|
if test "x$ENABLED_FORTRESS" = "xyes"
|
||||||
|
then
|
||||||
|
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DES_ECB"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AM_CONDITIONAL([BUILD_FIPS], [test "x$ENABLED_FIPS" = "xyes"])
|
AM_CONDITIONAL([BUILD_FIPS], [test "x$ENABLED_FIPS" = "xyes"])
|
||||||
@@ -3002,7 +3008,7 @@ AC_ARG_ENABLE([aeskeywrap],
|
|||||||
[ ENABLED_AESKEYWRAP=no ]
|
[ ENABLED_AESKEYWRAP=no ]
|
||||||
)
|
)
|
||||||
|
|
||||||
if test "$ENABLED_WPAS" = "yes"
|
if test "$ENABLED_WPAS" = "yes" && test "$ENABLED_FIPS" = "no"
|
||||||
then
|
then
|
||||||
ENABLED_AESKEYWRAP="yes"
|
ENABLED_AESKEYWRAP="yes"
|
||||||
fi
|
fi
|
||||||
|
@@ -7201,7 +7201,10 @@ static int DoCertificate(WOLFSSL* ssl, byte* input, word32* inOutIdx,
|
|||||||
store->certs = certs;
|
store->certs = certs;
|
||||||
store->totalCerts = totalCerts;
|
store->totalCerts = totalCerts;
|
||||||
#ifdef KEEP_PEER_CERT
|
#ifdef KEEP_PEER_CERT
|
||||||
store->current_cert = &ssl->peerCert;
|
if (ssl->peerCert.subject.sz > 0)
|
||||||
|
store->current_cert = &ssl->peerCert;
|
||||||
|
else
|
||||||
|
store->current_cert = NULL;
|
||||||
#else
|
#else
|
||||||
store->current_cert = NULL;
|
store->current_cert = NULL;
|
||||||
#endif
|
#endif
|
||||||
@@ -7244,7 +7247,10 @@ static int DoCertificate(WOLFSSL* ssl, byte* input, word32* inOutIdx,
|
|||||||
store->certs = certs;
|
store->certs = certs;
|
||||||
store->totalCerts = totalCerts;
|
store->totalCerts = totalCerts;
|
||||||
#ifdef KEEP_PEER_CERT
|
#ifdef KEEP_PEER_CERT
|
||||||
store->current_cert = &ssl->peerCert;
|
if (ssl->peerCert.subject.sz > 0)
|
||||||
|
store->current_cert = &ssl->peerCert;
|
||||||
|
else
|
||||||
|
store->current_cert = NULL;
|
||||||
#endif
|
#endif
|
||||||
store->ex_data = ssl;
|
store->ex_data = ssl;
|
||||||
|
|
||||||
|
22
src/ssl.c
22
src/ssl.c
@@ -10244,7 +10244,7 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
|
|||||||
WOLFSSL_X509_STORE_CTX* ctx)
|
WOLFSSL_X509_STORE_CTX* ctx)
|
||||||
{
|
{
|
||||||
WOLFSSL_ENTER("wolfSSL_X509_STORE_CTX_get_current_cert");
|
WOLFSSL_ENTER("wolfSSL_X509_STORE_CTX_get_current_cert");
|
||||||
if(ctx)
|
if (ctx)
|
||||||
return ctx->current_cert;
|
return ctx->current_cert;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -12431,6 +12431,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
|
|||||||
|
|
||||||
#ifdef KEEP_PEER_CERT
|
#ifdef KEEP_PEER_CERT
|
||||||
FreeX509(&ssl->peerCert);
|
FreeX509(&ssl->peerCert);
|
||||||
|
InitX509(&ssl->peerCert, 0, ssl->heap);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return SSL_SUCCESS;
|
return SSL_SUCCESS;
|
||||||
@@ -13703,8 +13704,23 @@ int wolfSSL_set_session_id_context(WOLFSSL* ssl, const unsigned char* id,
|
|||||||
|
|
||||||
void wolfSSL_set_connect_state(WOLFSSL* ssl)
|
void wolfSSL_set_connect_state(WOLFSSL* ssl)
|
||||||
{
|
{
|
||||||
(void)ssl;
|
word16 haveRSA = 1;
|
||||||
/* client by default */
|
word16 havePSK = 0;
|
||||||
|
|
||||||
|
if (ssl->options.side == WOLFSSL_SERVER_END) {
|
||||||
|
ssl->options.side = WOLFSSL_CLIENT_END;
|
||||||
|
|
||||||
|
#ifdef NO_RSA
|
||||||
|
haveRSA = 0;
|
||||||
|
#endif
|
||||||
|
#ifndef NO_PSK
|
||||||
|
havePSK = ssl->options.havePSK;
|
||||||
|
#endif
|
||||||
|
InitSuites(ssl->suites, ssl->version, haveRSA, havePSK,
|
||||||
|
ssl->options.haveDH, ssl->options.haveNTRU,
|
||||||
|
ssl->options.haveECDSAsig, ssl->options.haveECC,
|
||||||
|
ssl->options.haveStaticECC, ssl->options.side);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user