forked from wolfSSL/wolfssl
fix for build with cryptonly + rsapub
This commit is contained in:
@@ -3865,7 +3865,7 @@ void bench_rsaKeyGen_size(int doAsync, int keySz)
|
|||||||
|
|
||||||
#define RSA_BUF_SIZE 384 /* for up to 3072 bit */
|
#define RSA_BUF_SIZE 384 /* for up to 3072 bit */
|
||||||
|
|
||||||
#ifndef WOLFSSL_RSA_PUBLIC_ONLY
|
#if !defined(WOLFSSL_RSA_VERIFY_INLINE) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)
|
||||||
#elif defined(USE_CERT_BUFFERS_2048)
|
#elif defined(USE_CERT_BUFFERS_2048)
|
||||||
static unsigned char rsa_2048_sig[] = {
|
static unsigned char rsa_2048_sig[] = {
|
||||||
0x8c, 0x9e, 0x37, 0xbf, 0xc3, 0xa6, 0xba, 0x1c,
|
0x8c, 0x9e, 0x37, 0xbf, 0xc3, 0xa6, 0xba, 0x1c,
|
||||||
@@ -3961,33 +3961,36 @@ static void bench_rsa_helper(int doAsync, RsaKey rsaKey[BENCH_MAX_PENDING],
|
|||||||
{
|
{
|
||||||
int ret = 0, i, times, count = 0, pending = 0;
|
int ret = 0, i, times, count = 0, pending = 0;
|
||||||
word32 idx = 0;
|
word32 idx = 0;
|
||||||
#ifndef WOLFSSL_RSA_PUBLIC_ONLY
|
#ifndef WOLFSSL_RSA_VERIFY_ONLY
|
||||||
const char* messageStr = "Everyone gets Friday off.";
|
const char* messageStr = "Everyone gets Friday off.";
|
||||||
const int len = (int)XSTRLEN((char*)messageStr);
|
const int len = (int)XSTRLEN((char*)messageStr);
|
||||||
#endif
|
#endif
|
||||||
double start = 0.0f;
|
double start = 0.0f;
|
||||||
const char**desc = bench_desc_words[lng_index];
|
const char**desc = bench_desc_words[lng_index];
|
||||||
#ifndef WOLFSSL_RSA_PUBLIC_ONLY
|
#ifndef WOLFSSL_RSA_VERIFY_ONLY
|
||||||
DECLARE_VAR_INIT(message, byte, len, messageStr, HEAP_HINT);
|
DECLARE_VAR_INIT(message, byte, len, messageStr, HEAP_HINT);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_CERT_BUFFERS_1024
|
#ifdef USE_CERT_BUFFERS_1024
|
||||||
DECLARE_ARRAY(enc, byte, BENCH_MAX_PENDING, 128, HEAP_HINT);
|
DECLARE_ARRAY(enc, byte, BENCH_MAX_PENDING, 128, HEAP_HINT);
|
||||||
#ifndef WOLFSSL_RSA_VERIFY_INLINE
|
#if !defined(WOLFSSL_RSA_VERIFY_INLINE) && \
|
||||||
|
!defined(WOLFSSL_RSA_PUBLIC_ONLY)
|
||||||
DECLARE_ARRAY(out, byte, BENCH_MAX_PENDING, 128, HEAP_HINT);
|
DECLARE_ARRAY(out, byte, BENCH_MAX_PENDING, 128, HEAP_HINT);
|
||||||
#else
|
#else
|
||||||
byte* out[BENCH_MAX_PENDING];
|
byte* out[BENCH_MAX_PENDING];
|
||||||
#endif
|
#endif
|
||||||
#elif defined(USE_CERT_BUFFERS_2048)
|
#elif defined(USE_CERT_BUFFERS_2048)
|
||||||
DECLARE_ARRAY(enc, byte, BENCH_MAX_PENDING, 256, HEAP_HINT);
|
DECLARE_ARRAY(enc, byte, BENCH_MAX_PENDING, 256, HEAP_HINT);
|
||||||
#ifndef WOLFSSL_RSA_VERIFY_INLINE
|
#if !defined(WOLFSSL_RSA_VERIFY_INLINE) && \
|
||||||
|
!defined(WOLFSSL_RSA_PUBLIC_ONLY)
|
||||||
DECLARE_ARRAY(out, byte, BENCH_MAX_PENDING, 256, HEAP_HINT);
|
DECLARE_ARRAY(out, byte, BENCH_MAX_PENDING, 256, HEAP_HINT);
|
||||||
#else
|
#else
|
||||||
byte* out[BENCH_MAX_PENDING];
|
byte* out[BENCH_MAX_PENDING];
|
||||||
#endif
|
#endif
|
||||||
#elif defined(USE_CERT_BUFFERS_3072)
|
#elif defined(USE_CERT_BUFFERS_3072)
|
||||||
DECLARE_ARRAY(enc, byte, BENCH_MAX_PENDING, 384, HEAP_HINT);
|
DECLARE_ARRAY(enc, byte, BENCH_MAX_PENDING, 384, HEAP_HINT);
|
||||||
#ifndef WOLFSSL_RSA_VERIFY_INLINE
|
#if !defined(WOLFSSL_RSA_VERIFY_INLINE) && \
|
||||||
|
!defined(WOLFSSL_RSA_PUBLIC_ONLY)
|
||||||
DECLARE_ARRAY(out, byte, BENCH_MAX_PENDING, 384, HEAP_HINT);
|
DECLARE_ARRAY(out, byte, BENCH_MAX_PENDING, 384, HEAP_HINT);
|
||||||
#else
|
#else
|
||||||
byte* out[BENCH_MAX_PENDING];
|
byte* out[BENCH_MAX_PENDING];
|
||||||
@@ -4106,7 +4109,8 @@ exit_rsa_sign:
|
|||||||
for (i = 0; i < BENCH_MAX_PENDING; i++) {
|
for (i = 0; i < BENCH_MAX_PENDING; i++) {
|
||||||
if (bench_async_check(&ret, BENCH_ASYNC_GET_DEV(&rsaKey[i]),
|
if (bench_async_check(&ret, BENCH_ASYNC_GET_DEV(&rsaKey[i]),
|
||||||
1, ×, ntimes, &pending)) {
|
1, ×, ntimes, &pending)) {
|
||||||
#ifndef WOLFSSL_RSA_VERIFY_INLINE
|
#if !defined(WOLFSSL_RSA_VERIFY_INLINE) && \
|
||||||
|
!defined(WOLFSSL_RSA_PUBLIC_ONLY)
|
||||||
ret = wc_RsaSSL_Verify(enc[i], idx, out[i],
|
ret = wc_RsaSSL_Verify(enc[i], idx, out[i],
|
||||||
rsaKeySz/8, &rsaKey[i]);
|
rsaKeySz/8, &rsaKey[i]);
|
||||||
#elif defined(USE_CERT_BUFFERS_2048)
|
#elif defined(USE_CERT_BUFFERS_2048)
|
||||||
|
@@ -2896,12 +2896,25 @@ int wc_RsaExportKey(RsaKey* key,
|
|||||||
ret = RsaGetValue(&key->e, e, eSz);
|
ret = RsaGetValue(&key->e, e, eSz);
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
ret = RsaGetValue(&key->n, n, nSz);
|
ret = RsaGetValue(&key->n, n, nSz);
|
||||||
|
#ifndef WOLFSSL_RSA_PUBLIC_ONLY
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
ret = RsaGetValue(&key->d, d, dSz);
|
ret = RsaGetValue(&key->d, d, dSz);
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
ret = RsaGetValue(&key->p, p, pSz);
|
ret = RsaGetValue(&key->p, p, pSz);
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
ret = RsaGetValue(&key->q, q, qSz);
|
ret = RsaGetValue(&key->q, q, qSz);
|
||||||
|
#else
|
||||||
|
/* no private parts to key */
|
||||||
|
if (d == NULL || p == NULL || q == NULL || dSz == NULL || pSz == NULL
|
||||||
|
|| qSz == NULL) {
|
||||||
|
ret = BAD_FUNC_ARG;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
*dSz = 0;
|
||||||
|
*pSz = 0;
|
||||||
|
*qSz = 0;
|
||||||
|
}
|
||||||
|
#endif /* WOLFSSL_RSA_PUBLIC_ONLY */
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@@ -9175,6 +9175,7 @@ static int rsa_export_key_test(RsaKey* key)
|
|||||||
ret = wc_RsaExportKey(key, e, &eSz, n, &zero, d, &dSz, p, &pSz, q, &qSz);
|
ret = wc_RsaExportKey(key, e, &eSz, n, &zero, d, &dSz, p, &pSz, q, &qSz);
|
||||||
if (ret != RSA_BUFFER_E)
|
if (ret != RSA_BUFFER_E)
|
||||||
return -6749;
|
return -6749;
|
||||||
|
#ifndef WOLFSSL_RSA_PUBLIC_ONLY
|
||||||
ret = wc_RsaExportKey(key, e, &eSz, n, &nSz, d, &zero, p, &pSz, q, &qSz);
|
ret = wc_RsaExportKey(key, e, &eSz, n, &nSz, d, &zero, p, &pSz, q, &qSz);
|
||||||
if (ret != RSA_BUFFER_E)
|
if (ret != RSA_BUFFER_E)
|
||||||
return -6750;
|
return -6750;
|
||||||
@@ -9184,6 +9185,7 @@ static int rsa_export_key_test(RsaKey* key)
|
|||||||
ret = wc_RsaExportKey(key, e, &eSz, n, &nSz, d, &dSz, p, &pSz, q, &zero);
|
ret = wc_RsaExportKey(key, e, &eSz, n, &nSz, d, &dSz, p, &pSz, q, &zero);
|
||||||
if (ret != RSA_BUFFER_E)
|
if (ret != RSA_BUFFER_E)
|
||||||
return -6752;
|
return -6752;
|
||||||
|
#endif /* WOLFSSL_RSA_PUBLIC_ONLY */
|
||||||
|
|
||||||
ret = wc_RsaExportKey(key, e, &eSz, n, &nSz, d, &dSz, p, &pSz, q, &qSz);
|
ret = wc_RsaExportKey(key, e, &eSz, n, &nSz, d, &dSz, p, &pSz, q, &qSz);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
@@ -9265,6 +9267,8 @@ static int rsa_sig_test(RsaKey* key, word32 keyLen, int modLen, WC_RNG* rng)
|
|||||||
!defined(WC_RSA_BLINDING)
|
!defined(WC_RSA_BLINDING)
|
||||||
/* FIPS140 implementation does not do blinding */
|
/* FIPS140 implementation does not do blinding */
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
#elif defined(WOLFSSL_RSA_PUBLIC_ONLY)
|
||||||
|
if (ret != SIG_TYPE_E)
|
||||||
#else
|
#else
|
||||||
if (ret != MISSING_RNG_E)
|
if (ret != MISSING_RNG_E)
|
||||||
#endif
|
#endif
|
||||||
@@ -9315,6 +9319,7 @@ static int rsa_sig_test(RsaKey* key, word32 keyLen, int modLen, WC_RNG* rng)
|
|||||||
return -6772;
|
return -6772;
|
||||||
|
|
||||||
sigSz = (word32)ret;
|
sigSz = (word32)ret;
|
||||||
|
#ifndef WOLFSSL_RSA_PUBLIC_ONLY
|
||||||
ret = wc_SignatureGenerate(WC_HASH_TYPE_SHA256, WC_SIGNATURE_TYPE_RSA, in,
|
ret = wc_SignatureGenerate(WC_HASH_TYPE_SHA256, WC_SIGNATURE_TYPE_RSA, in,
|
||||||
inLen, out, &sigSz, key, keyLen, rng);
|
inLen, out, &sigSz, key, keyLen, rng);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
@@ -9365,6 +9370,10 @@ static int rsa_sig_test(RsaKey* key, word32 keyLen, int modLen, WC_RNG* rng)
|
|||||||
hashEnc, (int)sizeof(hashEnc), out, (word32)modLen, key, keyLen);
|
hashEnc, (int)sizeof(hashEnc), out, (word32)modLen, key, keyLen);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return -6781;
|
return -6781;
|
||||||
|
#else
|
||||||
|
(void)hash;
|
||||||
|
(void)hashEnc;
|
||||||
|
#endif /* WOLFSSL_RSA_PUBLIC_ONLY */
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -10921,7 +10930,7 @@ int rsa_test(void)
|
|||||||
goto exit_rsa;
|
goto exit_rsa;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef WOLFSSL_RSA_VERIFY_ONLY
|
#if !defined(WOLFSSL_RSA_VERIFY_ONLY) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)
|
||||||
do {
|
do {
|
||||||
#if defined(WOLFSSL_ASYNC_CRYPT)
|
#if defined(WOLFSSL_ASYNC_CRYPT)
|
||||||
ret = wc_AsyncWait(ret, &key.asyncDev, WC_ASYNC_FLAG_CALL_AGAIN);
|
ret = wc_AsyncWait(ret, &key.asyncDev, WC_ASYNC_FLAG_CALL_AGAIN);
|
||||||
|
Reference in New Issue
Block a user