/* * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "hks_rsa_sign_verify_part1_test.h" #include "hks_rsa_sign_verify_test_common.h" #include using namespace testing::ext; namespace Unittest::RsaSignVerify { class HksRsaSignVerifyPart1Test : public testing::Test { public: static void SetUpTestCase(void); static void TearDownTestCase(void); void SetUp(); void TearDown(); }; void HksRsaSignVerifyPart1Test::SetUpTestCase(void) { } void HksRsaSignVerifyPart1Test::TearDownTestCase(void) { } void HksRsaSignVerifyPart1Test::SetUp() { } void HksRsaSignVerifyPart1Test::TearDown() { } static struct HksParam g_genParamsTest001[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_MD5 } }; static struct HksParam g_signParamsTest001[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_MD5 } }; static struct HksParam g_verifyParamsTest001[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_MD5 } }; static struct HksParam g_genParamsTest002[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_NONE }, }; static struct HksParam g_signParamsTest002[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_NONE } }; static struct HksParam g_verifyParamsTest002[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_NONE } }; static struct HksParam g_genParamsTest003[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA1 }, }; static struct HksParam g_signParamsTest003[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA1 } }; static struct HksParam g_verifyParamsTest003[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA1 } }; static struct HksParam g_genParamsTest004[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA224 }, }; static struct HksParam g_signParamsTest004[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA224 } }; static struct HksParam g_verifyParamsTest004[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA224 } }; static struct HksParam g_genParamsTest005[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA256 }, }; static struct HksParam g_signParamsTest005[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA256 } }; static struct HksParam g_verifyParamsTest005[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA256 } }; static struct HksParam g_genParamsTest006[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA384 }, }; static struct HksParam g_signParamsTest006[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA384 } }; static struct HksParam g_verifyParamsTest006[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA384 } }; static struct HksParam g_genParamsTest007[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA512 }, }; static struct HksParam g_signParamsTest007[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA512 } }; static struct HksParam g_verifyParamsTest007[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PKCS1_V1_5 }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA512 } }; static struct HksParam g_genParamsTest008[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PSS }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA1 }, }; static struct HksParam g_signParamsTest008[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PSS }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA1 } }; static struct HksParam g_verifyParamsTest008[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PSS }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA1 } }; static struct HksParam g_genParamsTest009[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PSS }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA224 }, }; static struct HksParam g_signParamsTest009[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PSS }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA224 } }; static struct HksParam g_verifyParamsTest009[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PSS }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA224 } }; static struct HksParam g_genParamsTest010[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN | HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PSS }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA256 }, }; static struct HksParam g_signParamsTest010[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_SIGN }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PSS }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA256 } }; static struct HksParam g_verifyParamsTest010[] = { { .tag = HKS_TAG_ALGORITHM, .uint32Param = HKS_ALG_RSA }, { .tag = HKS_TAG_PURPOSE, .uint32Param = HKS_KEY_PURPOSE_VERIFY }, { .tag = HKS_TAG_KEY_SIZE, .uint32Param = HKS_RSA_KEY_SIZE_512 }, { .tag = HKS_TAG_PADDING, .uint32Param = HKS_PADDING_PSS }, { .tag = HKS_TAG_DIGEST, .uint32Param = HKS_DIGEST_SHA256 } }; /** * @tc.name: HksRsaSignVerifyPart1Test.HksRsaSignVerifyPart1Test001 * @tc.desc: alg-RSA pur-Sign pad-PKCS1_V1_5 digest-MD5. * @tc.type: FUNC */ HWTEST_F(HksRsaSignVerifyPart1Test, HksRsaSignVerifyPart1Test001, TestSize.Level0) { int32_t ret = HKS_FAILURE; const char *keyAliasString = "HksRSASignVerifyKeyAliasTest001"; struct HksParamSet *genParamSet = nullptr; struct HksParamSet *signParamSet = nullptr; struct HksParamSet *verifyParamSet = nullptr; ret = InitParamSet(&genParamSet, g_genParamsTest001, sizeof(g_genParamsTest001)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&signParamSet, g_signParamsTest001, sizeof(g_signParamsTest001)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&verifyParamSet, g_verifyParamsTest001, sizeof(g_verifyParamsTest001)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; /* Generate Key */ struct HksBlob keyAlias = {strlen(keyAliasString), (uint8_t *)keyAliasString}; if ((genParamSet != nullptr) || (signParamSet != nullptr) || (verifyParamSet != nullptr)) { ret = HksRsaSignVerifyTestNormalCase(keyAlias, genParamSet, signParamSet, verifyParamSet); } /* Delete Key */ ret = HksDeleteKey(&keyAlias, genParamSet); EXPECT_EQ(ret, HKS_SUCCESS) << "DeleteKey failed."; HksFreeParamSet(&genParamSet); HksFreeParamSet(&signParamSet); HksFreeParamSet(&verifyParamSet); } /** * @tc.name: HksRsaSignVerifyPart1Test.HksRsaSignVerifyPart1Test002 * @tc.desc: alg-RSA pur-Sign pad-PKCS1_V1_5 digest-NONE. * @tc.type: FUNC */ HWTEST_F(HksRsaSignVerifyPart1Test, HksRsaSignVerifyPart1Test002, TestSize.Level0) { int32_t ret = HKS_FAILURE; const char *keyAliasString = "HksRSASignVerifyKeyAliasTest002"; struct HksParamSet *genParamSet = nullptr; struct HksParamSet *signParamSet = nullptr; struct HksParamSet *verifyParamSet = nullptr; ret = InitParamSet(&genParamSet, g_genParamsTest002, sizeof(g_genParamsTest002)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&signParamSet, g_signParamsTest002, sizeof(g_signParamsTest002)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&verifyParamSet, g_verifyParamsTest002, sizeof(g_verifyParamsTest002)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; /* Generate Key */ struct HksBlob keyAlias = {strlen(keyAliasString), (uint8_t *)keyAliasString}; if ((genParamSet != nullptr) || (signParamSet != nullptr) || (verifyParamSet != nullptr)) { ret = HksRsaSignVerifyTestNormalCase(keyAlias, genParamSet, signParamSet, verifyParamSet); } /* Delete Key */ ret = HksDeleteKey(&keyAlias, genParamSet); EXPECT_EQ(ret, HKS_SUCCESS) << "DeleteKey failed."; HksFreeParamSet(&genParamSet); HksFreeParamSet(&signParamSet); HksFreeParamSet(&verifyParamSet); } /** * @tc.name: HksRsaSignVerifyPart1Test.HksRsaSignVerifyPart1Test003 * @tc.desc: alg-RSA pur-Sign pad-PKCS1_V1_5 digest-SHA1. * @tc.type: FUNC */ HWTEST_F(HksRsaSignVerifyPart1Test, HksRsaSignVerifyPart1Test003, TestSize.Level0) { int32_t ret = HKS_FAILURE; const char *keyAliasString = "HksRSASignVerifyKeyAliasTest003"; struct HksParamSet *genParamSet = nullptr; struct HksParamSet *signParamSet = nullptr; struct HksParamSet *verifyParamSet = nullptr; ret = InitParamSet(&genParamSet, g_genParamsTest003, sizeof(g_genParamsTest003)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&signParamSet, g_signParamsTest003, sizeof(g_signParamsTest003)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&verifyParamSet, g_verifyParamsTest003, sizeof(g_verifyParamsTest003)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; /* Generate Key */ struct HksBlob keyAlias = {strlen(keyAliasString), (uint8_t *)keyAliasString}; if ((genParamSet != nullptr) || (signParamSet != nullptr) || (verifyParamSet != nullptr)) { ret = HksRsaSignVerifyTestNormalCase(keyAlias, genParamSet, signParamSet, verifyParamSet); } /* Delete Key */ ret = HksDeleteKey(&keyAlias, genParamSet); EXPECT_EQ(ret, HKS_SUCCESS) << "DeleteKey failed."; HksFreeParamSet(&genParamSet); HksFreeParamSet(&signParamSet); HksFreeParamSet(&verifyParamSet); } /** * @tc.name: HksRsaSignVerifyPart1Test.HksRsaSignVerifyPart1Test004 * @tc.desc: alg-RSA pur-Sign pad-PKCS1_V1_5 digest-SHA224. * @tc.type: FUNC */ HWTEST_F(HksRsaSignVerifyPart1Test, HksRsaSignVerifyPart1Test004, TestSize.Level0) { int32_t ret = HKS_FAILURE; const char *keyAliasString = "HksRSASignVerifyKeyAliasTest004"; struct HksParamSet *genParamSet = nullptr; struct HksParamSet *signParamSet = nullptr; struct HksParamSet *verifyParamSet = nullptr; ret = InitParamSet(&genParamSet, g_genParamsTest004, sizeof(g_genParamsTest004)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&signParamSet, g_signParamsTest004, sizeof(g_signParamsTest004)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&verifyParamSet, g_verifyParamsTest004, sizeof(g_verifyParamsTest004)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; /* Generate Key */ struct HksBlob keyAlias = {strlen(keyAliasString), (uint8_t *)keyAliasString}; if ((genParamSet != nullptr) || (signParamSet != nullptr) || (verifyParamSet != nullptr)) { ret = HksRsaSignVerifyTestNormalCase(keyAlias, genParamSet, signParamSet, verifyParamSet); } /* Delete Key */ ret = HksDeleteKey(&keyAlias, genParamSet); EXPECT_EQ(ret, HKS_SUCCESS) << "DeleteKey failed."; HksFreeParamSet(&genParamSet); HksFreeParamSet(&signParamSet); HksFreeParamSet(&verifyParamSet); } /** * @tc.name: HksRsaSignVerifyPart1Test.HksRsaSignVerifyPart1Test005 * @tc.desc: alg-RSA pur-Sign pad-PKCS1_V1_5 digest-SHA256. * @tc.type: FUNC */ HWTEST_F(HksRsaSignVerifyPart1Test, HksRsaSignVerifyPart1Test005, TestSize.Level0) { int32_t ret = HKS_FAILURE; const char *keyAliasString = "HksRSASignVerifyKeyAliasTest005"; struct HksParamSet *genParamSet = nullptr; struct HksParamSet *signParamSet = nullptr; struct HksParamSet *verifyParamSet = nullptr; ret = InitParamSet(&genParamSet, g_genParamsTest005, sizeof(g_genParamsTest005)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&signParamSet, g_signParamsTest005, sizeof(g_signParamsTest005)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&verifyParamSet, g_verifyParamsTest005, sizeof(g_verifyParamsTest005)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; /* Generate Key */ struct HksBlob keyAlias = {strlen(keyAliasString), (uint8_t *)keyAliasString}; if ((genParamSet != nullptr) || (signParamSet != nullptr) || (verifyParamSet != nullptr)) { ret = HksRsaSignVerifyTestNormalCase(keyAlias, genParamSet, signParamSet, verifyParamSet); } /* Delete Key */ ret = HksDeleteKey(&keyAlias, genParamSet); EXPECT_EQ(ret, HKS_SUCCESS) << "DeleteKey failed."; HksFreeParamSet(&genParamSet); HksFreeParamSet(&signParamSet); HksFreeParamSet(&verifyParamSet); } /** * @tc.name: HksRsaSignVerifyPart1Test.HksRsaSignVerifyPart1Test006 * @tc.desc: alg-RSA pur-Sign pad-PKCS1_V1_5 digest-MD5. * @tc.type: FUNC */ HWTEST_F(HksRsaSignVerifyPart1Test, HksRsaSignVerifyPart1Test006, TestSize.Level0) { int32_t ret = HKS_FAILURE; const char *keyAliasString = "HksRSASignVerifyKeyAliasTest006"; struct HksParamSet *genParamSet = nullptr; struct HksParamSet *signParamSet = nullptr; struct HksParamSet *verifyParamSet = nullptr; ret = InitParamSet(&genParamSet, g_genParamsTest006, sizeof(g_genParamsTest006)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&signParamSet, g_signParamsTest006, sizeof(g_signParamsTest006)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&verifyParamSet, g_verifyParamsTest006, sizeof(g_verifyParamsTest006)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; /* Generate Key */ struct HksBlob keyAlias = {strlen(keyAliasString), (uint8_t *)keyAliasString}; if ((genParamSet != nullptr) || (signParamSet != nullptr) || (verifyParamSet != nullptr)) { ret = HksRSASignVerifyTestAbnormalCase(keyAlias, genParamSet, signParamSet, verifyParamSet); } /* Delete Key */ ret = HksDeleteKey(&keyAlias, genParamSet); EXPECT_EQ(ret, HKS_SUCCESS) << "DeleteKey failed."; HksFreeParamSet(&genParamSet); HksFreeParamSet(&signParamSet); HksFreeParamSet(&verifyParamSet); } /** * @tc.name: HksRsaSignVerifyPart1Test.HksRsaSignVerifyPart1Test007 * @tc.desc: alg-RSA pur-Sign pad-PKCS1_V1_5 digest-SHA512. * @tc.type: FUNC */ HWTEST_F(HksRsaSignVerifyPart1Test, HksRsaSignVerifyPart1Test007, TestSize.Level0) { int32_t ret = HKS_FAILURE; const char *keyAliasString = "HksRSASignVerifyKeyAliasTest007"; struct HksParamSet *genParamSet = nullptr; struct HksParamSet *signParamSet = nullptr; struct HksParamSet *verifyParamSet = nullptr; ret = InitParamSet(&genParamSet, g_genParamsTest007, sizeof(g_genParamsTest007)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&signParamSet, g_signParamsTest007, sizeof(g_signParamsTest007)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&verifyParamSet, g_verifyParamsTest007, sizeof(g_verifyParamsTest007)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; /* Generate Key */ struct HksBlob keyAlias = {strlen(keyAliasString), (uint8_t *)keyAliasString}; if ((genParamSet != nullptr) || (signParamSet != nullptr) || (verifyParamSet != nullptr)) { ret = HksRSASignVerifyTestAbnormalCase(keyAlias, genParamSet, signParamSet, verifyParamSet); } /* Delete Key */ ret = HksDeleteKey(&keyAlias, genParamSet); EXPECT_EQ(ret, HKS_SUCCESS) << "DeleteKey failed."; HksFreeParamSet(&genParamSet); HksFreeParamSet(&signParamSet); HksFreeParamSet(&verifyParamSet); } /** * @tc.name: HksRsaSignVerifyPart1Test.HksRsaSignVerifyPart1Test008 * @tc.desc: alg-RSA pur-Sign pad-PSS digest-SHA1. * @tc.type: FUNC */ HWTEST_F(HksRsaSignVerifyPart1Test, HksRsaSignVerifyPart1Test008, TestSize.Level0) { int32_t ret = HKS_FAILURE; const char *keyAliasString = "HksRSASignVerifyKeyAliasTest008"; struct HksParamSet *genParamSet = nullptr; struct HksParamSet *signParamSet = nullptr; struct HksParamSet *verifyParamSet = nullptr; ret = InitParamSet(&genParamSet, g_genParamsTest008, sizeof(g_genParamsTest008)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&signParamSet, g_signParamsTest008, sizeof(g_signParamsTest008)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&verifyParamSet, g_verifyParamsTest008, sizeof(g_verifyParamsTest008)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; /* Generate Key */ struct HksBlob keyAlias = {strlen(keyAliasString), (uint8_t *)keyAliasString}; if ((genParamSet != nullptr) || (signParamSet != nullptr) || (verifyParamSet != nullptr)) { ret = HksRsaSignVerifyTestNormalCase(keyAlias, genParamSet, signParamSet, verifyParamSet); } /* Delete Key */ ret = HksDeleteKey(&keyAlias, genParamSet); EXPECT_EQ(ret, HKS_SUCCESS) << "DeleteKey failed."; HksFreeParamSet(&genParamSet); HksFreeParamSet(&signParamSet); HksFreeParamSet(&verifyParamSet); } /** * @tc.name: HksRsaSignVerifyPart1Test.HksRsaSignVerifyPart1Test009 * @tc.desc: alg-RSA pur-Sign pad-PSS digest-SHA224. * @tc.type: FUNC */ HWTEST_F(HksRsaSignVerifyPart1Test, HksRsaSignVerifyPart1Test009, TestSize.Level0) { int32_t ret = HKS_FAILURE; const char *keyAliasString = "HksRSASignVerifyKeyAliasTest009"; struct HksParamSet *genParamSet = nullptr; struct HksParamSet *signParamSet = nullptr; struct HksParamSet *verifyParamSet = nullptr; ret = InitParamSet(&genParamSet, g_genParamsTest009, sizeof(g_genParamsTest009)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&signParamSet, g_signParamsTest009, sizeof(g_signParamsTest009)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&verifyParamSet, g_verifyParamsTest009, sizeof(g_verifyParamsTest009)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; /* Generate Key */ struct HksBlob keyAlias = {strlen(keyAliasString), (uint8_t *)keyAliasString}; if ((genParamSet != nullptr) || (signParamSet != nullptr) || (verifyParamSet != nullptr)) { ret = HksRsaSignVerifyTestNormalCase(keyAlias, genParamSet, signParamSet, verifyParamSet); } /* Delete Key */ ret = HksDeleteKey(&keyAlias, genParamSet); EXPECT_EQ(ret, HKS_SUCCESS) << "DeleteKey failed."; HksFreeParamSet(&genParamSet); HksFreeParamSet(&signParamSet); HksFreeParamSet(&verifyParamSet); } /** * @tc.name: HksRsaSignVerifyPart1Test.HksRsaSignVerifyPart1Test010 * @tc.desc: alg-RSA pur-Sign pad-PKCS1_V1_5 digest-MD5. * @tc.type: FUNC */ HWTEST_F(HksRsaSignVerifyPart1Test, HksRsaSignVerifyPart1Test010, TestSize.Level0) { int32_t ret = HKS_FAILURE; const char *keyAliasString = "HksRSASignVerifyKeyAliasTest010"; struct HksParamSet *genParamSet = nullptr; struct HksParamSet *signParamSet = nullptr; struct HksParamSet *verifyParamSet = nullptr; ret = InitParamSet(&genParamSet, g_genParamsTest010, sizeof(g_genParamsTest010)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&signParamSet, g_signParamsTest010, sizeof(g_signParamsTest010)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; ret = InitParamSet(&verifyParamSet, g_verifyParamsTest010, sizeof(g_verifyParamsTest010)/sizeof(HksParam)); EXPECT_EQ(ret, HKS_SUCCESS) << "InitParamSet failed."; /* Generate Key */ struct HksBlob keyAlias = {strlen(keyAliasString), (uint8_t *)keyAliasString}; if ((genParamSet != nullptr) || (signParamSet != nullptr) || (verifyParamSet != nullptr)) { ret = HksRsaSignVerifyTestNormalCase(keyAlias, genParamSet, signParamSet, verifyParamSet); } /* Delete Key */ ret = HksDeleteKey(&keyAlias, genParamSet); EXPECT_EQ(ret, HKS_SUCCESS) << "DeleteKey failed."; HksFreeParamSet(&genParamSet); HksFreeParamSet(&signParamSet); HksFreeParamSet(&verifyParamSet); } }