Only one call to wc_falcon_init() and comment on 300.

This commit is contained in:
Anthony Hu
2021-12-10 16:40:41 -05:00
parent 1d8ff70900
commit 4c12f0be95
2 changed files with 24 additions and 26 deletions

View File

@ -8534,38 +8534,36 @@ static WOLFSSL_EVP_PKEY* d2iGenericKey(WOLFSSL_EVP_PKEY** out,
#else
falcon_key falcon[1];
#endif
XMEMSET(falcon, 0, sizeof(falcon_key));
/* test if Falcon key */
if (priv) {
/* Try level 1 */
isFalcon = wc_falcon_init(falcon) == 0 &&
wc_falcon_set_level(falcon, 1) == 0 &&
wc_falcon_import_private_only(mem, (word32)memSz,
falcon) == 0;
if (!isFalcon) {
/* Try level 5 */
isFalcon = wc_falcon_init(falcon) == 0 &&
wc_falcon_set_level(falcon, 5) == 0 &&
if (wc_falcon_init(falcon) == 0) {
/* test if Falcon key */
if (priv) {
/* Try level 1 */
isFalcon = wc_falcon_set_level(falcon, 1) == 0 &&
wc_falcon_import_private_only(mem, (word32)memSz,
falcon) == 0;
}
} else {
/* Try level 1 */
isFalcon = wc_falcon_init(falcon) == 0 &&
wc_falcon_set_level(falcon, 1) == 0 &&
wc_falcon_import_public(mem, (word32)memSz, falcon) == 0;
if (!isFalcon) {
/* Try level 5 */
isFalcon = wc_falcon_set_level(falcon, 5) == 0 &&
wc_falcon_import_private_only(mem, (word32)memSz,
falcon) == 0;
}
} else {
/* Try level 1 */
isFalcon = wc_falcon_set_level(falcon, 1) == 0 &&
wc_falcon_import_public(mem, (word32)memSz, falcon)
== 0;
if (!isFalcon) {
/* Try level 5 */
isFalcon = wc_falcon_init(falcon) == 0 &&
wc_falcon_set_level(falcon, 5) == 0 &&
wc_falcon_import_public(mem, (word32)memSz,
falcon) == 0;
if (!isFalcon) {
/* Try level 5 */
isFalcon = wc_falcon_set_level(falcon, 5) == 0 &&
wc_falcon_import_public(mem, (word32)memSz,
falcon) == 0;
}
}
wc_falcon_free(falcon);
}
wc_falcon_free(falcon);
#ifdef WOLFSSL_SMALL_STACK
XFREE(falcon, NULL, DYNAMIC_TYPE_FALCON);
#endif

View File

@ -247,7 +247,7 @@ enum {
NID_rc4 = 5,
EVP_PKEY_DH = NID_dhKeyAgreement,
EVP_PKEY_HMAC = NID_hmac,
EVP_PKEY_FALCON = 300,
EVP_PKEY_FALCON = 300, /* Randomly picked value. */
AES_128_CFB1_TYPE = 24,
AES_192_CFB1_TYPE = 25,
AES_256_CFB1_TYPE = 26,