mirror of https://github.com/wolfSSL/wolfssl
Changes per Chris.
This commit is contained in:
parent
00724c95a9
commit
fdb371e82e
156
tests/api.c
156
tests/api.c
|
@ -105,6 +105,10 @@
|
||||||
#ifndef NO_RSA
|
#ifndef NO_RSA
|
||||||
#include <wolfssl/wolfcrypt/rsa.h>
|
#include <wolfssl/wolfcrypt/rsa.h>
|
||||||
#include <wolfssl/wolfcrypt/hash.h>
|
#include <wolfssl/wolfcrypt/hash.h>
|
||||||
|
|
||||||
|
#define FOURK_BUF 4096
|
||||||
|
#define GEN_BUF 294
|
||||||
|
|
||||||
#ifndef USER_CRYPTO_ERROR
|
#ifndef USER_CRYPTO_ERROR
|
||||||
#define USER_CRYPTO_ERROR -101 /* error returned by IPP lib. */
|
#define USER_CRYPTO_ERROR -101 /* error returned by IPP lib. */
|
||||||
#endif
|
#endif
|
||||||
|
@ -6878,12 +6882,12 @@ static int test_wc_Arc4Process (void)
|
||||||
static int test_wc_InitRsaKey (void)
|
static int test_wc_InitRsaKey (void)
|
||||||
{
|
{
|
||||||
#ifndef NO_RSA
|
#ifndef NO_RSA
|
||||||
RsaKey key[1];
|
RsaKey key;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
printf(testingFmt, "wc_InitRsaKey()");
|
printf(testingFmt, "wc_InitRsaKey()");
|
||||||
|
|
||||||
ret = wc_InitRsaKey(key, NULL);
|
ret = wc_InitRsaKey(&key, NULL);
|
||||||
|
|
||||||
/* Test bad args. */
|
/* Test bad args. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
|
@ -6893,7 +6897,7 @@ static int test_wc_InitRsaKey (void)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
#else
|
#else
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
#endif
|
#endif
|
||||||
|
@ -6901,7 +6905,7 @@ static int test_wc_InitRsaKey (void)
|
||||||
}
|
}
|
||||||
} /* end if */
|
} /* end if */
|
||||||
|
|
||||||
if (wc_FreeRsaKey(key) || ret != 0) {
|
if (wc_FreeRsaKey(&key) || ret != 0) {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6927,7 +6931,7 @@ static int test_wc_RsaPrivateKeyDecode (void)
|
||||||
|
|
||||||
printf(testingFmt, "wc_RsaPrivateKeyDecode()");
|
printf(testingFmt, "wc_RsaPrivateKeyDecode()");
|
||||||
|
|
||||||
tmp = (byte*)XMALLOC(4096, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
tmp = (byte*)XMALLOC(FOURK_BUF, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
if (tmp == NULL) {
|
if (tmp == NULL) {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -6965,13 +6969,13 @@ static int test_wc_RsaPrivateKeyDecode (void)
|
||||||
/* Test bad args. User RSA. */
|
/* Test bad args. User RSA. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaPrivateKeyDecode(NULL, &idx, &key, (word32)bytes);
|
ret = wc_RsaPrivateKeyDecode(NULL, &idx, &key, (word32)bytes);
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaPrivateKeyDecode(tmp, NULL, &key, (word32)bytes);
|
ret = wc_RsaPrivateKeyDecode(tmp, NULL, &key, (word32)bytes);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaPrivateKeyDecode(tmp, &idx, NULL, (word32)bytes);
|
ret = wc_RsaPrivateKeyDecode(tmp, &idx, NULL, (word32)bytes);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7005,10 +7009,8 @@ static int test_wc_RsaPublicKeyDecode (void)
|
||||||
word32 idx = 0;
|
word32 idx = 0;
|
||||||
int bytes = 0;
|
int bytes = 0;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
/* Buffer size for either der size. */
|
|
||||||
int genBuff = 294;
|
|
||||||
|
|
||||||
tmp = (byte*)XMALLOC(genBuff, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
tmp = (byte*)XMALLOC(GEN_BUF, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
if (tmp == NULL) {
|
if (tmp == NULL) {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -7048,13 +7050,13 @@ static int test_wc_RsaPublicKeyDecode (void)
|
||||||
/* Pass in bad args. */
|
/* Pass in bad args. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaPublicKeyDecode(NULL, &idx, &keyPub, (word32)bytes);
|
ret = wc_RsaPublicKeyDecode(NULL, &idx, &keyPub, (word32)bytes);
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaPublicKeyDecode(tmp, NULL, &keyPub, (word32)bytes);
|
ret = wc_RsaPublicKeyDecode(tmp, NULL, &keyPub, (word32)bytes);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaPublicKeyDecode(tmp, &idx, NULL, (word32)bytes);
|
ret = wc_RsaPublicKeyDecode(tmp, &idx, NULL, (word32)bytes);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7083,7 +7085,7 @@ static int test_wc_RsaPublicKeyDecode (void)
|
||||||
static int test_wc_RsaPublicKeyDecodeRaw (void)
|
static int test_wc_RsaPublicKeyDecodeRaw (void)
|
||||||
{
|
{
|
||||||
#if !defined(NO_RSA) && !defined(HAVE_FIPS)
|
#if !defined(NO_RSA) && !defined(HAVE_FIPS)
|
||||||
RsaKey key[1];
|
RsaKey key;
|
||||||
int ret;
|
int ret;
|
||||||
const byte n = 0x23;
|
const byte n = 0x23;
|
||||||
const byte e = 0x03;
|
const byte e = 0x03;
|
||||||
|
@ -7092,16 +7094,16 @@ static int test_wc_RsaPublicKeyDecodeRaw (void)
|
||||||
|
|
||||||
printf(testingFmt, "wc_RsaPublicKeyDecodeRaw()");
|
printf(testingFmt, "wc_RsaPublicKeyDecodeRaw()");
|
||||||
|
|
||||||
ret = wc_InitRsaKey(key, NULL);
|
ret = wc_InitRsaKey(&key, NULL);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaPublicKeyDecodeRaw(&n, nSz, &e, eSz, key);
|
ret = wc_RsaPublicKeyDecodeRaw(&n, nSz, &e, eSz, &key);
|
||||||
}
|
}
|
||||||
#ifndef HAVE_USER_RSA
|
#ifndef HAVE_USER_RSA
|
||||||
/* Pass in bad args. */
|
/* Pass in bad args. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaPublicKeyDecodeRaw(NULL, nSz, &e, eSz, key);
|
ret = wc_RsaPublicKeyDecodeRaw(NULL, nSz, &e, eSz, &key);
|
||||||
if (ret == BAD_FUNC_ARG) {
|
if (ret == BAD_FUNC_ARG) {
|
||||||
ret = wc_RsaPublicKeyDecodeRaw(&n, nSz, NULL, eSz, key);
|
ret = wc_RsaPublicKeyDecodeRaw(&n, nSz, NULL, eSz, &key);
|
||||||
}
|
}
|
||||||
if (ret == BAD_FUNC_ARG) {
|
if (ret == BAD_FUNC_ARG) {
|
||||||
ret = wc_RsaPublicKeyDecodeRaw(&n, nSz, &e, eSz, NULL);
|
ret = wc_RsaPublicKeyDecodeRaw(&n, nSz, &e, eSz, NULL);
|
||||||
|
@ -7115,14 +7117,14 @@ static int test_wc_RsaPublicKeyDecodeRaw (void)
|
||||||
#else
|
#else
|
||||||
/* Pass in bad args. User RSA. */
|
/* Pass in bad args. User RSA. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaPublicKeyDecodeRaw(NULL, nSz, &e, eSz, key);
|
ret = wc_RsaPublicKeyDecodeRaw(NULL, nSz, &e, eSz, &key);
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaPublicKeyDecodeRaw(&n, nSz, NULL, eSz, key);
|
ret = wc_RsaPublicKeyDecodeRaw(&n, nSz, NULL, eSz, &key);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaPublicKeyDecodeRaw(&n, nSz, &e, eSz, NULL);
|
ret = wc_RsaPublicKeyDecodeRaw(&n, nSz, &e, eSz, NULL);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7130,7 +7132,7 @@ static int test_wc_RsaPublicKeyDecodeRaw (void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (wc_FreeRsaKey(key) || ret != 0) {
|
if (wc_FreeRsaKey(&key) || ret != 0) {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7186,18 +7188,18 @@ static int test_wc_MakeRsaKey (void)
|
||||||
/* Test bad args. */
|
/* Test bad args. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_MakeRsaKey(NULL, 1024, 65537, &rng);
|
ret = wc_MakeRsaKey(NULL, 1024, 65537, &rng);
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_MakeRsaKey(&genKey, 1024, 65537, NULL);
|
ret = wc_MakeRsaKey(&genKey, 1024, 65537, NULL);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
/* e < 3 */
|
/* e < 3 */
|
||||||
ret = wc_MakeRsaKey(&genKey, 1024, 2, &rng);
|
ret = wc_MakeRsaKey(&genKey, 1024, 2, &rng);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
/* e & 1 == 0 */
|
/* e & 1 == 0 */
|
||||||
ret = wc_MakeRsaKey(&genKey, 1024, 6, &rng);
|
ret = wc_MakeRsaKey(&genKey, 1024, 6, &rng);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7281,7 +7283,7 @@ static int test_wc_SetKeyUsage (void)
|
||||||
static int test_wc_RsaKeyToDer (void)
|
static int test_wc_RsaKeyToDer (void)
|
||||||
{
|
{
|
||||||
#if !defined(NO_RSA) && defined(WOLFSSL_KEY_GEN) && !defined(HAVE_FIPS)
|
#if !defined(NO_RSA) && defined(WOLFSSL_KEY_GEN) && !defined(HAVE_FIPS)
|
||||||
RsaKey genKey[1];
|
RsaKey genKey;
|
||||||
WC_RNG rng;
|
WC_RNG rng;
|
||||||
byte* der;
|
byte* der;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
@ -7292,14 +7294,14 @@ static int test_wc_RsaKeyToDer (void)
|
||||||
}
|
}
|
||||||
/* Init structures. */
|
/* Init structures. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_InitRsaKey(genKey, NULL);
|
ret = wc_InitRsaKey(&genKey, NULL);
|
||||||
}
|
}
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_InitRng(&rng);
|
ret = wc_InitRng(&rng);
|
||||||
}
|
}
|
||||||
/* Make key. */
|
/* Make key. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_MakeRsaKey(genKey, 1024, 65537, &rng);
|
ret = wc_MakeRsaKey(&genKey, 1024, 65537, &rng);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -7308,7 +7310,7 @@ static int test_wc_RsaKeyToDer (void)
|
||||||
printf(testingFmt, "wc_RsaKeyToDer()");
|
printf(testingFmt, "wc_RsaKeyToDer()");
|
||||||
|
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaKeyToDer(genKey, der, 610);
|
ret = wc_RsaKeyToDer(&genKey, der, 610);
|
||||||
if (ret > 0) {
|
if (ret > 0) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
|
@ -7318,14 +7320,14 @@ static int test_wc_RsaKeyToDer (void)
|
||||||
#ifndef HAVE_USER_RSA
|
#ifndef HAVE_USER_RSA
|
||||||
/* Pass bad args. */
|
/* Pass bad args. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaKeyToDer(NULL, der, 4096);
|
ret = wc_RsaKeyToDer(NULL, der, FOURK_BUF);
|
||||||
if (ret == BAD_FUNC_ARG) {
|
if (ret == BAD_FUNC_ARG) {
|
||||||
ret = wc_RsaKeyToDer(genKey, NULL, 4096);
|
ret = wc_RsaKeyToDer(&genKey, NULL, FOURK_BUF);
|
||||||
}
|
}
|
||||||
if (ret == BAD_FUNC_ARG) {
|
if (ret == BAD_FUNC_ARG) {
|
||||||
/* Try Public Key. */
|
/* Try Public Key. */
|
||||||
genKey->type = 0;
|
genKey.type = 0;
|
||||||
ret = wc_RsaKeyToDer(genKey, der, 4096);
|
ret = wc_RsaKeyToDer(&genKey, der, FOURK_BUF);
|
||||||
}
|
}
|
||||||
if (ret == BAD_FUNC_ARG) {
|
if (ret == BAD_FUNC_ARG) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
@ -7336,16 +7338,16 @@ static int test_wc_RsaKeyToDer (void)
|
||||||
#else
|
#else
|
||||||
/* Pass bad args. */
|
/* Pass bad args. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaKeyToDer(NULL, der, 4096);
|
ret = wc_RsaKeyToDer(NULL, der, FOURK_BUF);
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaKeyToDer(genKey, NULL, 4096);
|
ret = wc_RsaKeyToDer(&genKey, NULL, FOURK_BUF);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
/* Try Public Key. */
|
/* Try Public Key. */
|
||||||
genKey->type = 0;
|
genKey.type = 0;
|
||||||
ret = wc_RsaKeyToDer(genKey, der, 4096);
|
ret = wc_RsaKeyToDer(&genKey, der, FOURK_BUF);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7356,7 +7358,7 @@ static int test_wc_RsaKeyToDer (void)
|
||||||
if (der != NULL) {
|
if (der != NULL) {
|
||||||
XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
}
|
}
|
||||||
if (wc_FreeRsaKey(genKey) || ret != 0) {
|
if (wc_FreeRsaKey(&genKey) || ret != 0) {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
if (wc_FreeRng(&rng) || ret != 0) {
|
if (wc_FreeRng(&rng) || ret != 0) {
|
||||||
|
@ -7381,7 +7383,7 @@ static int test_wc_RsaKeyToPublicDer (void)
|
||||||
word32 derLen = 162;
|
word32 derLen = 162;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
der = (byte*)XMALLOC(162, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
der = (byte*)XMALLOC(derLen, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
if (der == NULL) {
|
if (der == NULL) {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -7426,13 +7428,13 @@ static int test_wc_RsaKeyToPublicDer (void)
|
||||||
/* Pass in bad args. */
|
/* Pass in bad args. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaKeyToPublicDer(NULL, der, derLen);
|
ret = wc_RsaKeyToPublicDer(NULL, der, derLen);
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaKeyToPublicDer(&key, NULL, derLen);
|
ret = wc_RsaKeyToPublicDer(&key, NULL, derLen);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaKeyToPublicDer(&key, der, -1);
|
ret = wc_RsaKeyToPublicDer(&key, der, -1);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7473,8 +7475,8 @@ static int test_wc_RsaPublicEncryptDecrypt (void)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
DECLARE_VAR_INIT(in, byte, inLen, inStr, NULL);
|
DECLARE_VAR_INIT(in, byte, inLen, inStr, NULL);
|
||||||
DECLARE_VAR(plain, byte, 25, NULL);
|
DECLARE_VAR(plain, byte, plainLen, NULL);
|
||||||
DECLARE_VAR(cipher, byte, 128, NULL);
|
DECLARE_VAR(cipher, byte, cipherLen, NULL);
|
||||||
|
|
||||||
ret = wc_InitRsaKey(&key, NULL);
|
ret = wc_InitRsaKey(&key, NULL);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
|
@ -7504,13 +7506,13 @@ static int test_wc_RsaPublicEncryptDecrypt (void)
|
||||||
printf(testingFmt, "wc_RsaPrivateDecrypt()");
|
printf(testingFmt, "wc_RsaPrivateDecrypt()");
|
||||||
/* Bind rng */
|
/* Bind rng */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaSetRNG(&key, &rng); /* JB : Fips alternative? */
|
ret = wc_RsaSetRNG(&key, &rng);
|
||||||
}
|
}
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaPrivateDecrypt(cipher, cipherLen, plain, plainLen, &key);
|
ret = wc_RsaPrivateDecrypt(cipher, cipherLen, plain, plainLen, &key);
|
||||||
}
|
}
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
ret = XMEMCMP(plain, inStr, 25);
|
ret = XMEMCMP(plain, inStr, plainLen);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Pass in bad args. */
|
/* Pass in bad args. */
|
||||||
|
@ -7551,8 +7553,8 @@ static int test_wc_RsaPublicEncryptDecrypt_ex (void)
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
|
|
||||||
DECLARE_VAR_INIT(in, byte, inLen, inStr, NULL);
|
DECLARE_VAR_INIT(in, byte, inLen, inStr, NULL);
|
||||||
DECLARE_VAR(plain, byte, 25, NULL);
|
DECLARE_VAR(plain, byte, plainSz, NULL);
|
||||||
DECLARE_VAR(cipher, byte, 128, NULL);
|
DECLARE_VAR(cipher, byte, cipherSz, NULL);
|
||||||
|
|
||||||
/* Initialize stack structures. */
|
/* Initialize stack structures. */
|
||||||
XMEMSET(&rng, 0, sizeof(rng));
|
XMEMSET(&rng, 0, sizeof(rng));
|
||||||
|
@ -7592,7 +7594,7 @@ static int test_wc_RsaPublicEncryptDecrypt_ex (void)
|
||||||
WC_MGF1SHA1, NULL, 0);
|
WC_MGF1SHA1, NULL, 0);
|
||||||
}
|
}
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
if (!XMEMCMP(plain, inStr, 25)) {
|
if (!XMEMCMP(plain, inStr, plainSz)) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7611,7 +7613,7 @@ static int test_wc_RsaPublicEncryptDecrypt_ex (void)
|
||||||
WC_MGF1SHA1, NULL, 0);
|
WC_MGF1SHA1, NULL, 0);
|
||||||
|
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
if (!XMEMCMP(inStr, res, 25)) {
|
if (!XMEMCMP(inStr, res, plainSz)) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7652,8 +7654,8 @@ static int test_wc_RsaSSL_SignVerify (void)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
DECLARE_VAR_INIT(in, byte, inLen, inStr, NULL);
|
DECLARE_VAR_INIT(in, byte, inLen, inStr, NULL);
|
||||||
DECLARE_VAR(out, byte, 128, NULL);
|
DECLARE_VAR(out, byte, outSz, NULL);
|
||||||
DECLARE_VAR(plain, byte, 25, NULL);
|
DECLARE_VAR(plain, byte, plainSz, NULL);
|
||||||
|
|
||||||
ret = wc_InitRsaKey(&key, NULL);
|
ret = wc_InitRsaKey(&key, NULL);
|
||||||
|
|
||||||
|
@ -7669,7 +7671,7 @@ static int test_wc_RsaSSL_SignVerify (void)
|
||||||
|
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaSSL_Sign(in, inLen, out, outSz, &key, &rng);
|
ret = wc_RsaSSL_Sign(in, inLen, out, outSz, &key, &rng);
|
||||||
if (ret == 128) {
|
if (ret == (int)outSz) {
|
||||||
idx = ret;
|
idx = ret;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
|
@ -7699,16 +7701,16 @@ static int test_wc_RsaSSL_SignVerify (void)
|
||||||
/* Test bad args. */
|
/* Test bad args. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaSSL_Sign(NULL, inLen, out, outSz, &key, &rng);
|
ret = wc_RsaSSL_Sign(NULL, inLen, out, outSz, &key, &rng);
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaSSL_Sign(in, 0, out, outSz, &key, &rng);
|
ret = wc_RsaSSL_Sign(in, 0, out, outSz, &key, &rng);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaSSL_Sign(in, inLen, NULL, outSz, &key, &rng);
|
ret = wc_RsaSSL_Sign(in, inLen, NULL, outSz, &key, &rng);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaSSL_Sign(in, inLen, out, outSz, NULL, &rng);
|
ret = wc_RsaSSL_Sign(in, inLen, out, outSz, NULL, &rng);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7751,16 +7753,16 @@ static int test_wc_RsaSSL_SignVerify (void)
|
||||||
/* Pass bad args. */
|
/* Pass bad args. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaSSL_Verify(NULL, idx, plain, plainSz, &key);
|
ret = wc_RsaSSL_Verify(NULL, idx, plain, plainSz, &key);
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaSSL_Verify(out, 0, plain, plainSz, &key);
|
ret = wc_RsaSSL_Verify(out, 0, plain, plainSz, &key);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaSSL_Verify(out, idx, NULL, plainSz, &key);
|
ret = wc_RsaSSL_Verify(out, idx, NULL, plainSz, &key);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaSSL_Verify(out, idx, plain, plainSz, NULL);
|
ret = wc_RsaSSL_Verify(out, idx, plain, plainSz, NULL);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7794,6 +7796,8 @@ static int test_wc_RsaEncryptSize (void)
|
||||||
RsaKey key;
|
RsaKey key;
|
||||||
WC_RNG rng;
|
WC_RNG rng;
|
||||||
int ret;
|
int ret;
|
||||||
|
int enc128 = 128;
|
||||||
|
int enc512 = 512;
|
||||||
|
|
||||||
ret = wc_InitRsaKey(&key, NULL);
|
ret = wc_InitRsaKey(&key, NULL);
|
||||||
|
|
||||||
|
@ -7807,7 +7811,7 @@ static int test_wc_RsaEncryptSize (void)
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaEncryptSize(&key);
|
ret = wc_RsaEncryptSize(&key);
|
||||||
}
|
}
|
||||||
if (ret == 128) {
|
if (ret == enc128) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7820,11 +7824,11 @@ static int test_wc_RsaEncryptSize (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_MakeRsaKey(&key, 4096, 65537, &rng);
|
ret = wc_MakeRsaKey(&key, FOURK_BUF, 65537, &rng);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaEncryptSize(&key);
|
ret = wc_RsaEncryptSize(&key);
|
||||||
}
|
}
|
||||||
if (ret == 512) {
|
if (ret == enc512) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
@ -7916,19 +7920,19 @@ static int test_wc_RsaFlattenPublicKey (void)
|
||||||
/* Pass bad args. */
|
/* Pass bad args. */
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
ret = wc_RsaFlattenPublicKey(NULL, e, &eSz, n, &nSz);
|
ret = wc_RsaFlattenPublicKey(NULL, e, &eSz, n, &nSz);
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaFlattenPublicKey(&key, NULL, &eSz, n, &nSz);
|
ret = wc_RsaFlattenPublicKey(&key, NULL, &eSz, n, &nSz);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaFlattenPublicKey(&key, e, NULL, n, &nSz);
|
ret = wc_RsaFlattenPublicKey(&key, e, NULL, n, &nSz);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaFlattenPublicKey(&key, e, &eSz, NULL, &nSz);
|
ret = wc_RsaFlattenPublicKey(&key, e, &eSz, NULL, &nSz);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = wc_RsaFlattenPublicKey(&key, e, &eSz, n, NULL);
|
ret = wc_RsaFlattenPublicKey(&key, e, &eSz, n, NULL);
|
||||||
}
|
}
|
||||||
if (ret == -101) {
|
if (ret == USER_CRYPTO_ERROR) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
} else {
|
} else {
|
||||||
ret = SSL_FATAL_ERROR;
|
ret = SSL_FATAL_ERROR;
|
||||||
|
|
|
@ -153,15 +153,6 @@ int wc_RsaFlattenPublicKey(RsaKey* key, byte* a, word32* aSz, byte* b,
|
||||||
#ifdef WOLFSSL_KEY_GEN
|
#ifdef WOLFSSL_KEY_GEN
|
||||||
int wc_MakeRsaKey(RsaKey* key, int size, long e, WC_RNG* rng)
|
int wc_MakeRsaKey(RsaKey* key, int size, long e, WC_RNG* rng)
|
||||||
{
|
{
|
||||||
if (key == NULL || rng == NULL) {
|
|
||||||
return BAD_FUNC_ARG;
|
|
||||||
}
|
|
||||||
if (size < RSA_MIN_SIZE || size > RSA_MAX_SIZE) {
|
|
||||||
return BAD_FUNC_ARG;
|
|
||||||
}
|
|
||||||
if (e < 3 || (e & 1) == 0) {
|
|
||||||
return BAD_FUNC_ARG;
|
|
||||||
}
|
|
||||||
return MakeRsaKey(key, size, e, rng);
|
return MakeRsaKey(key, size, e, rng);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -7199,7 +7199,7 @@ int rsa_test(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wc_InitCert(&myCert)) {
|
if (wc_InitCert(&myCert)) {
|
||||||
ERROR_OUT(-5582, exit_rsa);
|
ERROR_OUT(-5572, exit_rsa);
|
||||||
}
|
}
|
||||||
|
|
||||||
strncpy(myCert.subject.country, "US", CTC_NAME_SIZE);
|
strncpy(myCert.subject.country, "US", CTC_NAME_SIZE);
|
||||||
|
@ -7222,17 +7222,17 @@ int rsa_test(void)
|
||||||
|
|
||||||
/* add SKID from the Public Key */
|
/* add SKID from the Public Key */
|
||||||
if (wc_SetSubjectKeyIdFromPublicKey(&myCert, &keypub, NULL) != 0) {
|
if (wc_SetSubjectKeyIdFromPublicKey(&myCert, &keypub, NULL) != 0) {
|
||||||
ERROR_OUT(-5572, exit_rsa);
|
ERROR_OUT(-5573, exit_rsa);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add AKID from the Public Key */
|
/* add AKID from the Public Key */
|
||||||
if (wc_SetAuthKeyIdFromPublicKey(&myCert, &keypub, NULL) != 0) {
|
if (wc_SetAuthKeyIdFromPublicKey(&myCert, &keypub, NULL) != 0) {
|
||||||
ERROR_OUT(-5573, exit_rsa);
|
ERROR_OUT(-5574, exit_rsa);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add Key Usage */
|
/* add Key Usage */
|
||||||
if (wc_SetKeyUsage(&myCert,"cRLSign,keyCertSign") != 0) {
|
if (wc_SetKeyUsage(&myCert,"cRLSign,keyCertSign") != 0) {
|
||||||
ERROR_OUT(-5574, exit_rsa);
|
ERROR_OUT(-5575, exit_rsa);
|
||||||
}
|
}
|
||||||
#endif /* WOLFSSL_CERT_EXT */
|
#endif /* WOLFSSL_CERT_EXT */
|
||||||
|
|
||||||
|
@ -7246,7 +7246,7 @@ int rsa_test(void)
|
||||||
}
|
}
|
||||||
} while (ret == WC_PENDING_E);
|
} while (ret == WC_PENDING_E);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
ERROR_OUT(-5575, exit_rsa);
|
ERROR_OUT(-5576, exit_rsa);
|
||||||
}
|
}
|
||||||
certSz = ret;
|
certSz = ret;
|
||||||
|
|
||||||
|
@ -7255,7 +7255,7 @@ int rsa_test(void)
|
||||||
ret = ParseCert(&decode, CERT_TYPE, NO_VERIFY, 0);
|
ret = ParseCert(&decode, CERT_TYPE, NO_VERIFY, 0);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
FreeDecodedCert(&decode);
|
FreeDecodedCert(&decode);
|
||||||
ERROR_OUT(-5576, exit_rsa);
|
ERROR_OUT(-5577, exit_rsa);
|
||||||
}
|
}
|
||||||
FreeDecodedCert(&decode);
|
FreeDecodedCert(&decode);
|
||||||
#endif
|
#endif
|
||||||
|
@ -7263,29 +7263,29 @@ int rsa_test(void)
|
||||||
#if !defined(NO_FILESYSTEM) && !defined(NO_WRITE_TEMP_FILES)
|
#if !defined(NO_FILESYSTEM) && !defined(NO_WRITE_TEMP_FILES)
|
||||||
derFile = fopen(certDerFile, "wb");
|
derFile = fopen(certDerFile, "wb");
|
||||||
if (!derFile) {
|
if (!derFile) {
|
||||||
ERROR_OUT(-5577, exit_rsa);
|
ERROR_OUT(-5578, exit_rsa);
|
||||||
}
|
}
|
||||||
ret = (int)fwrite(der, 1, certSz, derFile);
|
ret = (int)fwrite(der, 1, certSz, derFile);
|
||||||
fclose(derFile);
|
fclose(derFile);
|
||||||
if (ret != certSz) {
|
if (ret != certSz) {
|
||||||
ERROR_OUT(-5578, exit_rsa);
|
ERROR_OUT(-5579, exit_rsa);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pemSz = wc_DerToPem(der, certSz, pem, FOURK_BUF, CERT_TYPE);
|
pemSz = wc_DerToPem(der, certSz, pem, FOURK_BUF, CERT_TYPE);
|
||||||
if (pemSz < 0) {
|
if (pemSz < 0) {
|
||||||
ERROR_OUT(-5579, exit_rsa);
|
ERROR_OUT(-5580, exit_rsa);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(NO_FILESYSTEM) && !defined(NO_WRITE_TEMP_FILES)
|
#if !defined(NO_FILESYSTEM) && !defined(NO_WRITE_TEMP_FILES)
|
||||||
pemFile = fopen(certPemFile, "wb");
|
pemFile = fopen(certPemFile, "wb");
|
||||||
if (!pemFile) {
|
if (!pemFile) {
|
||||||
ERROR_OUT(-5580, exit_rsa);
|
ERROR_OUT(-5581, exit_rsa);
|
||||||
}
|
}
|
||||||
ret = (int)fwrite(pem, 1, pemSz, pemFile);
|
ret = (int)fwrite(pem, 1, pemSz, pemFile);
|
||||||
fclose(pemFile);
|
fclose(pemFile);
|
||||||
if (ret != pemSz) {
|
if (ret != pemSz) {
|
||||||
ERROR_OUT(-5581, exit_rsa);
|
ERROR_OUT(-5582, exit_rsa);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue