From 51042e166f1bde27dcb662baaa85f205b6ac2b4c Mon Sep 17 00:00:00 2001 From: toddouska Date: Mon, 25 Jul 2016 15:57:38 -0700 Subject: [PATCH] fix mcapi with blinding API addition --- mcapi/crypto.c | 11 ++++++++++- mcapi/crypto.h | 3 ++- mcapi/mcapi_test.c | 6 ++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/mcapi/crypto.c b/mcapi/crypto.c index b73ff2772..d15bfad26 100644 --- a/mcapi/crypto.c +++ b/mcapi/crypto.c @@ -536,7 +536,16 @@ int CRYPT_RSA_EncryptSizeGet(CRYPT_RSA_CTX* rsa) return BAD_FUNC_ARG; return RsaEncryptSize((RsaKey*)rsa->holder); -} +} + + +int CRYPT_RSA_SetRng(CRYPT_RSA_CTX* rsa, CRYPT_RNG_CTX* rng) +{ + if (rsa == NULL) + return BAD_FUNC_ARG; + + return wc_RsaSetRNG((RsaKey*)rsa->holder, (WC_RNG*)rng); +} /* ECC init */ diff --git a/mcapi/crypto.h b/mcapi/crypto.h index 36232a452..8fe323631 100644 --- a/mcapi/crypto.h +++ b/mcapi/crypto.h @@ -220,7 +220,8 @@ int CRYPT_RSA_PrivateDecrypt(CRYPT_RSA_CTX*, unsigned char*, unsigned int, const unsigned char*, unsigned int); /* helpers */ -int CRYPT_RSA_EncryptSizeGet(CRYPT_RSA_CTX*); +int CRYPT_RSA_EncryptSizeGet(CRYPT_RSA_CTX*); +int CRYPT_RSA_SetRng(CRYPT_RSA_CTX*, CRYPT_RNG_CTX*); diff --git a/mcapi/mcapi_test.c b/mcapi/mcapi_test.c index a34834d17..0a6d77e74 100644 --- a/mcapi/mcapi_test.c +++ b/mcapi/mcapi_test.c @@ -1296,6 +1296,12 @@ static int check_rsa(void) return -1; } + ret = CRYPT_RSA_SetRng(&mcRsa, &mcRng); + if (ret != 0) { + printf("mcapi rsa set rng failed\n"); + return -1; + } + ret = CRYPT_RSA_PublicEncrypt(&mcRsa, out1, sizeof(out1), ourData, RSA_TEST_SIZE, &mcRng); if (ret < 0) {