mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 18:57:27 +02:00
Merge pull request #5544 from haydenroche5/async_sw
Migrate async names from "test" to "software."
This commit is contained in:
19
configure.ac
19
configure.ac
@ -6985,6 +6985,17 @@ then
|
||||
AC_MSG_ERROR([please use --with-libz if enabling mcapi.])
|
||||
fi
|
||||
|
||||
# Asynchronous crypto using software (i.e. not hardware). Required for
|
||||
# non-blocking crypto with TLS/DTLS.
|
||||
AC_ARG_ENABLE([asynccrypt-sw],
|
||||
[AS_HELP_STRING([--enable-asynccrypt-sw],[Enable asynchronous software-based crypto (default: disabled)])],
|
||||
[ ENABLED_ASYNCCRYPT_SW=$enableval ],
|
||||
[ ENABLED_ASYNCCRYPT_SW=no ]
|
||||
)
|
||||
if test "$ENABLED_ASYNCCRYPT_SW" = "yes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ASYNC_CRYPT_SW"
|
||||
fi
|
||||
|
||||
# Asynchronous Crypto
|
||||
AC_ARG_ENABLE([asynccrypt],
|
||||
@ -6997,11 +7008,13 @@ if test "$ENABLED_ASYNCCRYPT" = "yes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ASYNC_CRYPT -DHAVE_WOLF_EVENT -DHAVE_WOLF_BIGINT -DWOLFSSL_NO_HASH_RAW"
|
||||
|
||||
# if no async hardware then use simulator for testing
|
||||
if test "x$ENABLED_CAVIUM" = "xno" && test "x$ENABLED_INTEL_QA" = "xno"
|
||||
# If no async backend (hardware or software) has been explicitly enabled,
|
||||
# use the software backend for testing.
|
||||
if test "x$ENABLED_CAVIUM" = "xno" && test "x$ENABLED_INTEL_QA" = "xno" &&
|
||||
test "x$ENABLED_ASYNCCRYPT_SW" = "xno"
|
||||
then
|
||||
# Async threading is Linux specific
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ASYNC_CRYPT_TEST"
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ASYNC_CRYPT_SW"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -4038,13 +4038,13 @@ int wc_AesSetIV(Aes* aes, const byte* iv)
|
||||
return IntelQaSymAesCbcEncrypt(&aes->asyncDev, out, in, sz,
|
||||
(const byte*)aes->devKey, aes->keylen,
|
||||
(byte*)aes->reg, AES_BLOCK_SIZE);
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
if (wc_AsyncTestInit(&aes->asyncDev, ASYNC_TEST_AES_CBC_ENCRYPT)) {
|
||||
WC_ASYNC_TEST* testDev = &aes->asyncDev.test;
|
||||
testDev->aes.aes = aes;
|
||||
testDev->aes.out = out;
|
||||
testDev->aes.in = in;
|
||||
testDev->aes.sz = sz;
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
if (wc_AsyncSwInit(&aes->asyncDev, ASYNC_SW_AES_CBC_ENCRYPT)) {
|
||||
WC_ASYNC_SW* sw = &aes->asyncDev.sw;
|
||||
sw->aes.aes = aes;
|
||||
sw->aes.out = out;
|
||||
sw->aes.in = in;
|
||||
sw->aes.sz = sz;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
#endif
|
||||
@ -4163,13 +4163,13 @@ int wc_AesSetIV(Aes* aes, const byte* iv)
|
||||
return IntelQaSymAesCbcDecrypt(&aes->asyncDev, out, in, sz,
|
||||
(const byte*)aes->devKey, aes->keylen,
|
||||
(byte*)aes->reg, AES_BLOCK_SIZE);
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
if (wc_AsyncTestInit(&aes->asyncDev, ASYNC_TEST_AES_CBC_DECRYPT)) {
|
||||
WC_ASYNC_TEST* testDev = &aes->asyncDev.test;
|
||||
testDev->aes.aes = aes;
|
||||
testDev->aes.out = out;
|
||||
testDev->aes.in = in;
|
||||
testDev->aes.sz = sz;
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
if (wc_AsyncSwInit(&aes->asyncDev, ASYNC_SW_AES_CBC_DECRYPT)) {
|
||||
WC_ASYNC_SW* sw = &aes->asyncDev.sw;
|
||||
sw->aes.aes = aes;
|
||||
sw->aes.out = out;
|
||||
sw->aes.in = in;
|
||||
sw->aes.sz = sz;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
#endif
|
||||
@ -7825,19 +7825,19 @@ int wc_AesGcmEncrypt(Aes* aes, byte* out, const byte* in, word32 sz,
|
||||
return IntelQaSymAesGcmEncrypt(&aes->asyncDev, out, in, sz,
|
||||
(const byte*)aes->devKey, aes->keylen, iv, ivSz,
|
||||
authTag, authTagSz, authIn, authInSz);
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
if (wc_AsyncTestInit(&aes->asyncDev, ASYNC_TEST_AES_GCM_ENCRYPT)) {
|
||||
WC_ASYNC_TEST* testDev = &aes->asyncDev.test;
|
||||
testDev->aes.aes = aes;
|
||||
testDev->aes.out = out;
|
||||
testDev->aes.in = in;
|
||||
testDev->aes.sz = sz;
|
||||
testDev->aes.iv = iv;
|
||||
testDev->aes.ivSz = ivSz;
|
||||
testDev->aes.authTag = authTag;
|
||||
testDev->aes.authTagSz = authTagSz;
|
||||
testDev->aes.authIn = authIn;
|
||||
testDev->aes.authInSz = authInSz;
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
if (wc_AsyncSwInit(&aes->asyncDev, ASYNC_SW_AES_GCM_ENCRYPT)) {
|
||||
WC_ASYNC_SW* sw = &aes->asyncDev.sw;
|
||||
sw->aes.aes = aes;
|
||||
sw->aes.out = out;
|
||||
sw->aes.in = in;
|
||||
sw->aes.sz = sz;
|
||||
sw->aes.iv = iv;
|
||||
sw->aes.ivSz = ivSz;
|
||||
sw->aes.authTag = authTag;
|
||||
sw->aes.authTagSz = authTagSz;
|
||||
sw->aes.authIn = authIn;
|
||||
sw->aes.authInSz = authInSz;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
#endif
|
||||
@ -8370,19 +8370,19 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz,
|
||||
return IntelQaSymAesGcmDecrypt(&aes->asyncDev, out, in, sz,
|
||||
(const byte*)aes->devKey, aes->keylen, iv, ivSz,
|
||||
authTag, authTagSz, authIn, authInSz);
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
if (wc_AsyncTestInit(&aes->asyncDev, ASYNC_TEST_AES_GCM_DECRYPT)) {
|
||||
WC_ASYNC_TEST* testDev = &aes->asyncDev.test;
|
||||
testDev->aes.aes = aes;
|
||||
testDev->aes.out = out;
|
||||
testDev->aes.in = in;
|
||||
testDev->aes.sz = sz;
|
||||
testDev->aes.iv = iv;
|
||||
testDev->aes.ivSz = ivSz;
|
||||
testDev->aes.authTag = (byte*)authTag;
|
||||
testDev->aes.authTagSz = authTagSz;
|
||||
testDev->aes.authIn = authIn;
|
||||
testDev->aes.authInSz = authInSz;
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
if (wc_AsyncSwInit(&aes->asyncDev, ASYNC_SW_AES_GCM_DECRYPT)) {
|
||||
WC_ASYNC_SW* sw = &aes->asyncDev.sw;
|
||||
sw->aes.aes = aes;
|
||||
sw->aes.out = out;
|
||||
sw->aes.in = in;
|
||||
sw->aes.sz = sz;
|
||||
sw->aes.iv = iv;
|
||||
sw->aes.ivSz = ivSz;
|
||||
sw->aes.authTag = (byte*)authTag;
|
||||
sw->aes.authTagSz = authTagSz;
|
||||
sw->aes.authIn = authIn;
|
||||
sw->aes.authInSz = authInSz;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
#endif
|
||||
|
@ -1703,13 +1703,13 @@
|
||||
#elif defined(HAVE_INTEL_QA)
|
||||
return IntelQaSymDes3CbcEncrypt(&des->asyncDev, out, in, sz,
|
||||
(const byte*)des->devKey, DES3_KEYLEN, (byte*)des->reg, DES3_IVLEN);
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
if (wc_AsyncTestInit(&des->asyncDev, ASYNC_TEST_DES3_CBC_ENCRYPT)) {
|
||||
WC_ASYNC_TEST* testDev = &des->asyncDev.test;
|
||||
testDev->des.des = des;
|
||||
testDev->des.out = out;
|
||||
testDev->des.in = in;
|
||||
testDev->des.sz = sz;
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
if (wc_AsyncSwInit(&des->asyncDev, ASYNC_SW_DES3_CBC_ENCRYPT)) {
|
||||
WC_ASYNC_SW* sw = &des->asyncDev.sw;
|
||||
sw->des.des = des;
|
||||
sw->des.out = out;
|
||||
sw->des.in = in;
|
||||
sw->des.sz = sz;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
#endif
|
||||
@ -1754,13 +1754,13 @@
|
||||
#elif defined(HAVE_INTEL_QA)
|
||||
return IntelQaSymDes3CbcDecrypt(&des->asyncDev, out, in, sz,
|
||||
(const byte*)des->devKey, DES3_KEYLEN, (byte*)des->reg, DES3_IVLEN);
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
if (wc_AsyncTestInit(&des->asyncDev, ASYNC_TEST_DES3_CBC_DECRYPT)) {
|
||||
WC_ASYNC_TEST* testDev = &des->asyncDev.test;
|
||||
testDev->des.des = des;
|
||||
testDev->des.out = out;
|
||||
testDev->des.in = in;
|
||||
testDev->des.sz = sz;
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
if (wc_AsyncSwInit(&des->asyncDev, ASYNC_SW_DES3_CBC_DECRYPT)) {
|
||||
WC_ASYNC_SW* sw = &des->asyncDev.sw;
|
||||
sw->des.des = des;
|
||||
sw->des.out = out;
|
||||
sw->des.in = in;
|
||||
sw->des.sz = sz;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
#endif
|
||||
|
@ -1434,15 +1434,15 @@ static int wc_DhGenerateKeyPair_Async(DhKey* key, WC_RNG* rng,
|
||||
#elif defined(HAVE_CAVIUM)
|
||||
/* TODO: Not implemented - use software for now */
|
||||
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
if (wc_AsyncTestInit(&key->asyncDev, ASYNC_TEST_DH_GEN)) {
|
||||
WC_ASYNC_TEST* testDev = &key->asyncDev.test;
|
||||
testDev->dhGen.key = key;
|
||||
testDev->dhGen.rng = rng;
|
||||
testDev->dhGen.priv = priv;
|
||||
testDev->dhGen.privSz = privSz;
|
||||
testDev->dhGen.pub = pub;
|
||||
testDev->dhGen.pubSz = pubSz;
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
if (wc_AsyncSwInit(&key->asyncDev, ASYNC_SW_DH_GEN)) {
|
||||
WC_ASYNC_SW* sw = &key->asyncDev.sw;
|
||||
sw->dhGen.key = key;
|
||||
sw->dhGen.rng = rng;
|
||||
sw->dhGen.priv = priv;
|
||||
sw->dhGen.privSz = privSz;
|
||||
sw->dhGen.pub = pub;
|
||||
sw->dhGen.pubSz = pubSz;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
#endif
|
||||
@ -2187,16 +2187,16 @@ static int wc_DhAgree_Async(DhKey* key, byte* agree, word32* agreeSz,
|
||||
#elif defined(HAVE_CAVIUM)
|
||||
/* TODO: Not implemented - use software for now */
|
||||
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
if (wc_AsyncTestInit(&key->asyncDev, ASYNC_TEST_DH_AGREE)) {
|
||||
WC_ASYNC_TEST* testDev = &key->asyncDev.test;
|
||||
testDev->dhAgree.key = key;
|
||||
testDev->dhAgree.agree = agree;
|
||||
testDev->dhAgree.agreeSz = agreeSz;
|
||||
testDev->dhAgree.priv = priv;
|
||||
testDev->dhAgree.privSz = privSz;
|
||||
testDev->dhAgree.otherPub = otherPub;
|
||||
testDev->dhAgree.pubSz = pubSz;
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
if (wc_AsyncSwInit(&key->asyncDev, ASYNC_SW_DH_AGREE)) {
|
||||
WC_ASYNC_SW* sw = &key->asyncDev.sw;
|
||||
sw->dhAgree.key = key;
|
||||
sw->dhAgree.agree = agree;
|
||||
sw->dhAgree.agreeSz = agreeSz;
|
||||
sw->dhAgree.priv = priv;
|
||||
sw->dhAgree.privSz = privSz;
|
||||
sw->dhAgree.otherPub = otherPub;
|
||||
sw->dhAgree.pubSz = pubSz;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
#endif
|
||||
|
@ -4609,13 +4609,13 @@ static int wc_ecc_shared_secret_gen_async(ecc_key* private_key,
|
||||
FREE_CURVE_SPECS();
|
||||
return err;
|
||||
}
|
||||
#elif defined(WOLFSSL_ASYNC_CRYPT_TEST)
|
||||
if (wc_AsyncTestInit(&private_key->asyncDev, ASYNC_TEST_ECC_SHARED_SEC)) {
|
||||
WC_ASYNC_TEST* testDev = &private_key->asyncDev.test;
|
||||
testDev->eccSharedSec.private_key = private_key;
|
||||
testDev->eccSharedSec.public_point = point;
|
||||
testDev->eccSharedSec.out = out;
|
||||
testDev->eccSharedSec.outLen = outlen;
|
||||
#elif defined(WOLFSSL_ASYNC_CRYPT_SW)
|
||||
if (wc_AsyncSwInit(&private_key->asyncDev, ASYNC_SW_ECC_SHARED_SEC)) {
|
||||
WC_ASYNC_SW* sw = &private_key->asyncDev.sw;
|
||||
sw->eccSharedSec.private_key = private_key;
|
||||
sw->eccSharedSec.public_point = point;
|
||||
sw->eccSharedSec.out = out;
|
||||
sw->eccSharedSec.outLen = outlen;
|
||||
wc_ecc_curve_free(curve);
|
||||
FREE_CURVE_SPECS();
|
||||
return WC_PENDING_E;
|
||||
@ -5188,12 +5188,12 @@ static int _ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key,
|
||||
#elif defined(HAVE_INTEL_QA)
|
||||
/* Implemented in ecc_make_pub_ex for the pub calc */
|
||||
#else
|
||||
if (wc_AsyncTestInit(&key->asyncDev, ASYNC_TEST_ECC_MAKE)) {
|
||||
WC_ASYNC_TEST* testDev = &key->asyncDev.test;
|
||||
testDev->eccMake.rng = rng;
|
||||
testDev->eccMake.key = key;
|
||||
testDev->eccMake.size = keysize;
|
||||
testDev->eccMake.curve_id = curve_id;
|
||||
if (wc_AsyncSwInit(&key->asyncDev, ASYNC_SW_ECC_MAKE)) {
|
||||
WC_ASYNC_SW* sw = &key->asyncDev.sw;
|
||||
sw->eccMake.rng = rng;
|
||||
sw->eccMake.key = key;
|
||||
sw->eccMake.size = keysize;
|
||||
sw->eccMake.curve_id = curve_id;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
#endif
|
||||
@ -5912,8 +5912,8 @@ static int wc_ecc_sign_hash_async(const byte* in, word32 inlen, byte* out,
|
||||
/* Nitrox requires r and s in sep buffer, so split it */
|
||||
NitroxEccRsSplit(key, &r->raw, &s->raw);
|
||||
#endif
|
||||
#ifndef WOLFSSL_ASYNC_CRYPT_TEST
|
||||
/* only do this if not simulator, since it overwrites result */
|
||||
#ifndef WOLFSSL_ASYNC_CRYPT_SW
|
||||
/* only do this if not software, since it overwrites result */
|
||||
wc_bigint_to_mp(&r->raw, r);
|
||||
wc_bigint_to_mp(&s->raw, s);
|
||||
#endif
|
||||
@ -6495,16 +6495,16 @@ int wc_ecc_sign_hash_ex(const byte* in, word32 inlen, WC_RNG* rng,
|
||||
#endif
|
||||
|
||||
#if defined(WOLFSSL_ASYNC_CRYPT) && defined(WC_ASYNC_ENABLE_ECC) && \
|
||||
defined(WOLFSSL_ASYNC_CRYPT_TEST)
|
||||
defined(WOLFSSL_ASYNC_CRYPT_SW)
|
||||
if (key->asyncDev.marker == WOLFSSL_ASYNC_MARKER_ECC) {
|
||||
if (wc_AsyncTestInit(&key->asyncDev, ASYNC_TEST_ECC_SIGN)) {
|
||||
WC_ASYNC_TEST* testDev = &key->asyncDev.test;
|
||||
testDev->eccSign.in = in;
|
||||
testDev->eccSign.inSz = inlen;
|
||||
testDev->eccSign.rng = rng;
|
||||
testDev->eccSign.key = key;
|
||||
testDev->eccSign.r = r;
|
||||
testDev->eccSign.s = s;
|
||||
if (wc_AsyncSwInit(&key->asyncDev, ASYNC_SW_ECC_SIGN)) {
|
||||
WC_ASYNC_SW* sw = &key->asyncDev.sw;
|
||||
sw->eccSign.in = in;
|
||||
sw->eccSign.inSz = inlen;
|
||||
sw->eccSign.rng = rng;
|
||||
sw->eccSign.key = key;
|
||||
sw->eccSign.r = r;
|
||||
sw->eccSign.s = s;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
}
|
||||
@ -7893,16 +7893,16 @@ int wc_ecc_verify_hash_ex(mp_int *r, mp_int *s, const byte* hash,
|
||||
keySz = key->dp->size;
|
||||
|
||||
#if defined(WOLFSSL_ASYNC_CRYPT) && defined(WC_ASYNC_ENABLE_ECC) && \
|
||||
defined(WOLFSSL_ASYNC_CRYPT_TEST)
|
||||
defined(WOLFSSL_ASYNC_CRYPT_SW)
|
||||
if (key->asyncDev.marker == WOLFSSL_ASYNC_MARKER_ECC) {
|
||||
if (wc_AsyncTestInit(&key->asyncDev, ASYNC_TEST_ECC_VERIFY)) {
|
||||
WC_ASYNC_TEST* testDev = &key->asyncDev.test;
|
||||
testDev->eccVerify.r = r;
|
||||
testDev->eccVerify.s = s;
|
||||
testDev->eccVerify.hash = hash;
|
||||
testDev->eccVerify.hashlen = hashlen;
|
||||
testDev->eccVerify.stat = res;
|
||||
testDev->eccVerify.key = key;
|
||||
if (wc_AsyncSwInit(&key->asyncDev, ASYNC_SW_ECC_VERIFY)) {
|
||||
WC_ASYNC_SW* sw = &key->asyncDev.sw;
|
||||
sw->eccVerify.r = r;
|
||||
sw->eccVerify.s = s;
|
||||
sw->eccVerify.hash = hash;
|
||||
sw->eccVerify.hashlen = hashlen;
|
||||
sw->eccVerify.stat = res;
|
||||
sw->eccVerify.key = key;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
}
|
||||
|
@ -2754,19 +2754,19 @@ static int wc_RsaFunctionAsync(const byte* in, word32 inLen, byte* out,
|
||||
|
||||
(void)rng;
|
||||
|
||||
#ifdef WOLFSSL_ASYNC_CRYPT_TEST
|
||||
if (wc_AsyncTestInit(&key->asyncDev, ASYNC_TEST_RSA_FUNC)) {
|
||||
WC_ASYNC_TEST* testDev = &key->asyncDev.test;
|
||||
testDev->rsaFunc.in = in;
|
||||
testDev->rsaFunc.inSz = inLen;
|
||||
testDev->rsaFunc.out = out;
|
||||
testDev->rsaFunc.outSz = outLen;
|
||||
testDev->rsaFunc.type = type;
|
||||
testDev->rsaFunc.key = key;
|
||||
testDev->rsaFunc.rng = rng;
|
||||
#ifdef WOLFSSL_ASYNC_CRYPT_SW
|
||||
if (wc_AsyncSwInit(&key->asyncDev, ASYNC_SW_RSA_FUNC)) {
|
||||
WC_ASYNC_SW* sw = &key->asyncDev.sw;
|
||||
sw->rsaFunc.in = in;
|
||||
sw->rsaFunc.inSz = inLen;
|
||||
sw->rsaFunc.out = out;
|
||||
sw->rsaFunc.outSz = outLen;
|
||||
sw->rsaFunc.type = type;
|
||||
sw->rsaFunc.key = key;
|
||||
sw->rsaFunc.rng = rng;
|
||||
return WC_PENDING_E;
|
||||
}
|
||||
#endif /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
#endif /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
|
||||
switch(type) {
|
||||
#ifndef WOLFSSL_RSA_PUBLIC_ONLY
|
||||
@ -2790,7 +2790,7 @@ static int wc_RsaFunctionAsync(const byte* in, word32 inLen, byte* out,
|
||||
&key->u.raw,
|
||||
out, outLen);
|
||||
#endif
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
ret = wc_RsaFunctionSync(in, inLen, out, outLen, type, key, rng);
|
||||
#endif
|
||||
break;
|
||||
@ -2808,7 +2808,7 @@ static int wc_RsaFunctionAsync(const byte* in, word32 inLen, byte* out,
|
||||
ret = IntelQaRsaPublic(&key->asyncDev, in, inLen,
|
||||
&key->e.raw, &key->n.raw,
|
||||
out, outLen);
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_TEST */
|
||||
#else /* WOLFSSL_ASYNC_CRYPT_SW */
|
||||
ret = wc_RsaFunctionSync(in, inLen, out, outLen, type, key, rng);
|
||||
#endif
|
||||
break;
|
||||
@ -4649,12 +4649,12 @@ int wc_MakeRsaKey(RsaKey* key, int size, long e, WC_RNG* rng)
|
||||
err = IntelQaRsaKeyGen(&key->asyncDev, key, size, e, rng);
|
||||
goto out;
|
||||
#else
|
||||
if (wc_AsyncTestInit(&key->asyncDev, ASYNC_TEST_RSA_MAKE)) {
|
||||
WC_ASYNC_TEST* testDev = &key->asyncDev.test;
|
||||
testDev->rsaMake.rng = rng;
|
||||
testDev->rsaMake.key = key;
|
||||
testDev->rsaMake.size = size;
|
||||
testDev->rsaMake.e = e;
|
||||
if (wc_AsyncSwInit(&key->asyncDev, ASYNC_SW_RSA_MAKE)) {
|
||||
WC_ASYNC_SW* sw = &key->asyncDev.sw;
|
||||
sw->rsaMake.rng = rng;
|
||||
sw->rsaMake.key = key;
|
||||
sw->rsaMake.size = size;
|
||||
sw->rsaMake.e = e;
|
||||
err = WC_PENDING_E;
|
||||
goto out;
|
||||
}
|
||||
|
@ -2241,21 +2241,21 @@ extern void uITRON4_free(void *p) ;
|
||||
|
||||
/* Asynchronous Crypto */
|
||||
#ifdef WOLFSSL_ASYNC_CRYPT
|
||||
#if !defined(HAVE_CAVIUM) && !defined(HAVE_INTEL_QA) && \
|
||||
!defined(WOLFSSL_ASYNC_CRYPT_SW)
|
||||
#error No async backend defined with WOLFSSL_ASYNC_CRYPT!
|
||||
#endif
|
||||
|
||||
/* Make sure wolf events are enabled */
|
||||
#undef HAVE_WOLF_EVENT
|
||||
#define HAVE_WOLF_EVENT
|
||||
|
||||
#ifdef WOLFSSL_ASYNC_CRYPT_TEST
|
||||
#ifdef WOLFSSL_ASYNC_CRYPT_SW
|
||||
#define WC_ASYNC_DEV_SIZE 168
|
||||
#else
|
||||
#define WC_ASYNC_DEV_SIZE 336
|
||||
#endif
|
||||
|
||||
#if !defined(HAVE_CAVIUM) && !defined(HAVE_INTEL_QA) && \
|
||||
!defined(WOLFSSL_ASYNC_CRYPT_TEST)
|
||||
#error No async hardware defined with WOLFSSL_ASYNC_CRYPT!
|
||||
#endif
|
||||
|
||||
/* Enable ECC_CACHE_CURVE for ASYNC */
|
||||
#if !defined(ECC_CACHE_CURVE)
|
||||
#define ECC_CACHE_CURVE
|
||||
|
Reference in New Issue
Block a user