154aa6d63Sopenharmony_ci/* 254aa6d63Sopenharmony_ci * Copyright (c) 2024-2024 Huawei Device Co., Ltd. 354aa6d63Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 454aa6d63Sopenharmony_ci * you may not use this file except in compliance with the License. 554aa6d63Sopenharmony_ci * You may obtain a copy of the License at 654aa6d63Sopenharmony_ci * 754aa6d63Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 854aa6d63Sopenharmony_ci * 954aa6d63Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1054aa6d63Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1154aa6d63Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1254aa6d63Sopenharmony_ci * See the License for the specific language governing permissions and 1354aa6d63Sopenharmony_ci * limitations under the License. 1454aa6d63Sopenharmony_ci */ 1554aa6d63Sopenharmony_ci#include "sign_provider_test.h" 1654aa6d63Sopenharmony_ci#include "params_run_tool.h" 1754aa6d63Sopenharmony_ci#include "local_sign_provider.h" 1854aa6d63Sopenharmony_ci#include "remote_sign_provider.h" 1954aa6d63Sopenharmony_ci#include "sign_hap.h" 2054aa6d63Sopenharmony_ci#include "sign_provider.h" 2154aa6d63Sopenharmony_ci#include "sign_tool_service_impl.h" 2254aa6d63Sopenharmony_ci#include <unistd.h> 2354aa6d63Sopenharmony_ci 2454aa6d63Sopenharmony_cinamespace OHOS { 2554aa6d63Sopenharmony_cinamespace SignatureTools { 2654aa6d63Sopenharmony_ci 2754aa6d63Sopenharmony_civoid GenUnvaildUnProviderHap(const std::string& path) 2854aa6d63Sopenharmony_ci{ 2954aa6d63Sopenharmony_ci std::ofstream outfile(path); 3054aa6d63Sopenharmony_ci if (!outfile) { 3154aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGE("Unable to open file: %s", path.c_str()); 3254aa6d63Sopenharmony_ci return; 3354aa6d63Sopenharmony_ci } 3454aa6d63Sopenharmony_ci outfile << "Hello, this is a Unvaild un provider Hap.\n"; 3554aa6d63Sopenharmony_ci outfile.flush(); 3654aa6d63Sopenharmony_ci outfile.close(); 3754aa6d63Sopenharmony_ci return; 3854aa6d63Sopenharmony_ci} 3954aa6d63Sopenharmony_ci 4054aa6d63Sopenharmony_civoid SignProviderTest::SetUpTestCase(void) 4154aa6d63Sopenharmony_ci{ 4254aa6d63Sopenharmony_ci GenUnvaildUnProviderHap("./hapSign/phone-default-unsigned"); 4354aa6d63Sopenharmony_ci GenUnvaildUnProviderHap("./hapSign/phone-default-unsigned.txt"); 4454aa6d63Sopenharmony_ci GenUnvaildUnProviderHap("./hapSign/nohap.hap"); 4554aa6d63Sopenharmony_ci 4654aa6d63Sopenharmony_ci (void)rename("./hapSign/packages/phone-default-unsigned-test.txt", "./hapSign/phone-default-unsigned-test.hap"); 4754aa6d63Sopenharmony_ci (void)rename("./hapSign/packages/phone-default-unsigned.txt", "./hapSign/phone-default-unsigned.hap"); 4854aa6d63Sopenharmony_ci (void)rename("./hapSign/packages/unsigned_with_cd_and_eocd.txt", "./hapSign/unsigned_with_cd_and_eocd.hap"); 4954aa6d63Sopenharmony_ci (void)rename("./hapSign/packages/unsigned_with_eocd.txt", "./hapSign/unsigned_with_eocd.hap"); 5054aa6d63Sopenharmony_ci (void)rename("./codeSigning/unsigned-file.txt", "./codeSigning/unsigned-file.hap"); 5154aa6d63Sopenharmony_ci sync(); 5254aa6d63Sopenharmony_ci} 5354aa6d63Sopenharmony_ci 5454aa6d63Sopenharmony_civoid SignProviderTest::TearDownTestCase(void) 5554aa6d63Sopenharmony_ci{ 5654aa6d63Sopenharmony_ci} 5754aa6d63Sopenharmony_ci 5854aa6d63Sopenharmony_ci/* 5954aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_001 6054aa6d63Sopenharmony_ci * @tc.desc: This function tests success for interface Sign 6154aa6d63Sopenharmony_ci * @tc.type: FUNC 6254aa6d63Sopenharmony_ci * @tc.require: 6354aa6d63Sopenharmony_ci */ 6454aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_001, testing::ext::TestSize.Level1) 6554aa6d63Sopenharmony_ci{ 6654aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 6754aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 6854aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 6954aa6d63Sopenharmony_ci 7054aa6d63Sopenharmony_ci std::string mode = "localSign"; 7154aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 7254aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 7354aa6d63Sopenharmony_ci std::string signCode = "0"; 7454aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 7554aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 7654aa6d63Sopenharmony_ci std::string profileSigned = "1"; 7754aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned-test.hap"; 7854aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 7954aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-unsigned-test.hap"; 8054aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 8154aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 8254aa6d63Sopenharmony_ci 8354aa6d63Sopenharmony_ci (*params)["mode"] = mode; 8454aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 8554aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 8654aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 8754aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 8854aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 8954aa6d63Sopenharmony_ci (*params)["profileSigned"] = profileSigned; 9054aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 9154aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 9254aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 9354aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 9454aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 9554aa6d63Sopenharmony_ci 9654aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 9754aa6d63Sopenharmony_ci EXPECT_EQ(ret, true); 9854aa6d63Sopenharmony_ci} 9954aa6d63Sopenharmony_ci/* 10054aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_002 10154aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter compatibleVersion is not int 10254aa6d63Sopenharmony_ci * @tc.type: FUNC 10354aa6d63Sopenharmony_ci * @tc.require: 10454aa6d63Sopenharmony_ci */ 10554aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_002, testing::ext::TestSize.Level1) 10654aa6d63Sopenharmony_ci{ 10754aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 10854aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 10954aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 11054aa6d63Sopenharmony_ci 11154aa6d63Sopenharmony_ci std::string mode = "localSign"; 11254aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 11354aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 11454aa6d63Sopenharmony_ci std::string signCode = "1"; 11554aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 11654aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 11754aa6d63Sopenharmony_ci std::string profileSigned = "1"; 11854aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 11954aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 12054aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 12154aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 12254aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 12354aa6d63Sopenharmony_ci 12454aa6d63Sopenharmony_ci (*params)["mode"] = mode; 12554aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 12654aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 12754aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 12854aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 12954aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 13054aa6d63Sopenharmony_ci (*params)["profileSigned"] = profileSigned; 13154aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 13254aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 13354aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 13454aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 13554aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 13654aa6d63Sopenharmony_ci 13754aa6d63Sopenharmony_ci (*params)["compatibleVersion"] = std::string("a"); 13854aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 13954aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 14054aa6d63Sopenharmony_ci} 14154aa6d63Sopenharmony_ci 14254aa6d63Sopenharmony_ci/* 14354aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_003 14454aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter inFile format error 14554aa6d63Sopenharmony_ci * @tc.type: FUNC 14654aa6d63Sopenharmony_ci * @tc.require: 14754aa6d63Sopenharmony_ci */ 14854aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_003, testing::ext::TestSize.Level1) 14954aa6d63Sopenharmony_ci{ 15054aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 15154aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 15254aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 15354aa6d63Sopenharmony_ci 15454aa6d63Sopenharmony_ci std::string mode = "localSign"; 15554aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 15654aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 15754aa6d63Sopenharmony_ci std::string signCode = "1"; 15854aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 15954aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 16054aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned"; 16154aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 16254aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 16354aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 16454aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 16554aa6d63Sopenharmony_ci 16654aa6d63Sopenharmony_ci (*params)["mode"] = mode; 16754aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 16854aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 16954aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 17054aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 17154aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 17254aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 17354aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 17454aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 17554aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 17654aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 17754aa6d63Sopenharmony_ci 17854aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 17954aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 18054aa6d63Sopenharmony_ci} 18154aa6d63Sopenharmony_ci 18254aa6d63Sopenharmony_ci/* 18354aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_004 18454aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter compatibleVersion is not int 18554aa6d63Sopenharmony_ci * @tc.type: FUNC 18654aa6d63Sopenharmony_ci * @tc.require: 18754aa6d63Sopenharmony_ci */ 18854aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_004, testing::ext::TestSize.Level1) 18954aa6d63Sopenharmony_ci{ 19054aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 19154aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 19254aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 19354aa6d63Sopenharmony_ci 19454aa6d63Sopenharmony_ci std::string mode = "localSign"; 19554aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 19654aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 19754aa6d63Sopenharmony_ci std::string signCode = "1"; 19854aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 19954aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 20054aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 20154aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 20254aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 20354aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 20454aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 20554aa6d63Sopenharmony_ci std::string compatibleVersion = "a"; 20654aa6d63Sopenharmony_ci 20754aa6d63Sopenharmony_ci (*params)["mode"] = mode; 20854aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 20954aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 21054aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 21154aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 21254aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 21354aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 21454aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 21554aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 21654aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 21754aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 21854aa6d63Sopenharmony_ci (*params)["compatibleVersion"] = compatibleVersion; 21954aa6d63Sopenharmony_ci 22054aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 22154aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 22254aa6d63Sopenharmony_ci} 22354aa6d63Sopenharmony_ci 22454aa6d63Sopenharmony_ci/* 22554aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_005 22654aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter compatibleVersion is not int 22754aa6d63Sopenharmony_ci * @tc.type: FUNC 22854aa6d63Sopenharmony_ci * @tc.require: 22954aa6d63Sopenharmony_ci */ 23054aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_005, testing::ext::TestSize.Level1) 23154aa6d63Sopenharmony_ci{ 23254aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 23354aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 23454aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 23554aa6d63Sopenharmony_ci 23654aa6d63Sopenharmony_ci std::string mode = "localSign"; 23754aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 23854aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 23954aa6d63Sopenharmony_ci std::string signCode = "1"; 24054aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 24154aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 24254aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 24354aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 24454aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 24554aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 24654aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 24754aa6d63Sopenharmony_ci std::string property = "./hapSign/signed-profile.p7b"; 24854aa6d63Sopenharmony_ci std::string proof = "./hapSign/signed-profile.p7b"; 24954aa6d63Sopenharmony_ci 25054aa6d63Sopenharmony_ci (*params)["mode"] = mode; 25154aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 25254aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 25354aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 25454aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 25554aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 25654aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 25754aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 25854aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 25954aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 26054aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 26154aa6d63Sopenharmony_ci (*params)["property"] = property; 26254aa6d63Sopenharmony_ci (*params)["proof"] = proof; 26354aa6d63Sopenharmony_ci 26454aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 26554aa6d63Sopenharmony_ci EXPECT_EQ(ret, true); 26654aa6d63Sopenharmony_ci} 26754aa6d63Sopenharmony_ci 26854aa6d63Sopenharmony_ci/* 26954aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_006 27054aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter property is not exist 27154aa6d63Sopenharmony_ci * @tc.type: FUNC 27254aa6d63Sopenharmony_ci * @tc.require: 27354aa6d63Sopenharmony_ci */ 27454aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_006, testing::ext::TestSize.Level1) 27554aa6d63Sopenharmony_ci{ 27654aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 27754aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 27854aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 27954aa6d63Sopenharmony_ci 28054aa6d63Sopenharmony_ci std::string mode = "localSign"; 28154aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 28254aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 28354aa6d63Sopenharmony_ci std::string signCode = "1"; 28454aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 28554aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 28654aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 28754aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 28854aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 28954aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 29054aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 29154aa6d63Sopenharmony_ci std::string property = "./hapSign/signed-nohavaprofile.p7b"; 29254aa6d63Sopenharmony_ci std::string proof = "./hapSign/signed-profile.p7b"; 29354aa6d63Sopenharmony_ci 29454aa6d63Sopenharmony_ci (*params)["mode"] = mode; 29554aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 29654aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 29754aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 29854aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 29954aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 30054aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 30154aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 30254aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 30354aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 30454aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 30554aa6d63Sopenharmony_ci (*params)["property"] = property; 30654aa6d63Sopenharmony_ci (*params)["proof"] = proof; 30754aa6d63Sopenharmony_ci 30854aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 30954aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 31054aa6d63Sopenharmony_ci} 31154aa6d63Sopenharmony_ci 31254aa6d63Sopenharmony_ci/* 31354aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_007 31454aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter property is not exist 31554aa6d63Sopenharmony_ci * @tc.type: FUNC 31654aa6d63Sopenharmony_ci * @tc.require: 31754aa6d63Sopenharmony_ci */ 31854aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_007, testing::ext::TestSize.Level1) 31954aa6d63Sopenharmony_ci{ 32054aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 32154aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 32254aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 32354aa6d63Sopenharmony_ci 32454aa6d63Sopenharmony_ci std::string mode = "localSign"; 32554aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 32654aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 32754aa6d63Sopenharmony_ci std::string signCode = "1"; 32854aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 32954aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-nohaveprofile.p7b"; 33054aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 33154aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 33254aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 33354aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 33454aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 33554aa6d63Sopenharmony_ci std::string property = "./hapSign/signed-profile.p7b"; 33654aa6d63Sopenharmony_ci std::string proof = "./hapSign/signed-profile.p7b"; 33754aa6d63Sopenharmony_ci 33854aa6d63Sopenharmony_ci (*params)["mode"] = mode; 33954aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 34054aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 34154aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 34254aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 34354aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 34454aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 34554aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 34654aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 34754aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 34854aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 34954aa6d63Sopenharmony_ci (*params)["property"] = property; 35054aa6d63Sopenharmony_ci (*params)["proof"] = proof; 35154aa6d63Sopenharmony_ci 35254aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 35354aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 35454aa6d63Sopenharmony_ci} 35554aa6d63Sopenharmony_ci 35654aa6d63Sopenharmony_ci/* 35754aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_008 35854aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter proof is not exist 35954aa6d63Sopenharmony_ci * @tc.type: FUNC 36054aa6d63Sopenharmony_ci * @tc.require: 36154aa6d63Sopenharmony_ci */ 36254aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_008, testing::ext::TestSize.Level1) 36354aa6d63Sopenharmony_ci{ 36454aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 36554aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 36654aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 36754aa6d63Sopenharmony_ci 36854aa6d63Sopenharmony_ci std::string mode = "localSign"; 36954aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 37054aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 37154aa6d63Sopenharmony_ci std::string signCode = "1"; 37254aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 37354aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 37454aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 37554aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 37654aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 37754aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 37854aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 37954aa6d63Sopenharmony_ci std::string property = "./hapSign/signed-profile.p7b"; 38054aa6d63Sopenharmony_ci std::string proof = "./hapSign/signed-nohaveprofile.p7b"; 38154aa6d63Sopenharmony_ci 38254aa6d63Sopenharmony_ci (*params)["mode"] = mode; 38354aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 38454aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 38554aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 38654aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 38754aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 38854aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 38954aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 39054aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 39154aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 39254aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 39354aa6d63Sopenharmony_ci (*params)["property"] = property; 39454aa6d63Sopenharmony_ci (*params)["proof"] = proof; 39554aa6d63Sopenharmony_ci 39654aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 39754aa6d63Sopenharmony_ci EXPECT_EQ(ret, true); 39854aa6d63Sopenharmony_ci} 39954aa6d63Sopenharmony_ci 40054aa6d63Sopenharmony_ci/* 40154aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_009 40254aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter inFile is not exist 40354aa6d63Sopenharmony_ci * @tc.type: FUNC 40454aa6d63Sopenharmony_ci * @tc.require: 40554aa6d63Sopenharmony_ci */ 40654aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_009, testing::ext::TestSize.Level1) 40754aa6d63Sopenharmony_ci{ 40854aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 40954aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 41054aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 41154aa6d63Sopenharmony_ci 41254aa6d63Sopenharmony_ci std::string mode = "localSign"; 41354aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 41454aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 41554aa6d63Sopenharmony_ci std::string signCode = "1"; 41654aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 41754aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 41854aa6d63Sopenharmony_ci std::string inFile = "./hapSign_test/phone-default-unsigned.hap"; 41954aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 42054aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 42154aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 42254aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 42354aa6d63Sopenharmony_ci 42454aa6d63Sopenharmony_ci (*params)["mode"] = mode; 42554aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 42654aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 42754aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 42854aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 42954aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 43054aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 43154aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 43254aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 43354aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 43454aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 43554aa6d63Sopenharmony_ci 43654aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 43754aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 43854aa6d63Sopenharmony_ci} 43954aa6d63Sopenharmony_ci 44054aa6d63Sopenharmony_ci/* 44154aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_010 44254aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter inFile is not exist 44354aa6d63Sopenharmony_ci * @tc.type: FUNC 44454aa6d63Sopenharmony_ci * @tc.require: 44554aa6d63Sopenharmony_ci */ 44654aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_010, testing::ext::TestSize.Level1) 44754aa6d63Sopenharmony_ci{ 44854aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 44954aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 45054aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 45154aa6d63Sopenharmony_ci 45254aa6d63Sopenharmony_ci std::string mode = "localSign"; 45354aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 45454aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 45554aa6d63Sopenharmony_ci std::string signCode = "1"; 45654aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 45754aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 45854aa6d63Sopenharmony_ci std::string inFile = "./hapSign"; 45954aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 46054aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 46154aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 46254aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 46354aa6d63Sopenharmony_ci 46454aa6d63Sopenharmony_ci (*params)["mode"] = mode; 46554aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 46654aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 46754aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 46854aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 46954aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 47054aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 47154aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 47254aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 47354aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 47454aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 47554aa6d63Sopenharmony_ci 47654aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 47754aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 47854aa6d63Sopenharmony_ci} 47954aa6d63Sopenharmony_ci 48054aa6d63Sopenharmony_ci/* 48154aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_011 48254aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter inFile is not exist 48354aa6d63Sopenharmony_ci * @tc.type: FUNC 48454aa6d63Sopenharmony_ci * @tc.require: 48554aa6d63Sopenharmony_ci */ 48654aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_011, testing::ext::TestSize.Level1) 48754aa6d63Sopenharmony_ci{ 48854aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 48954aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 49054aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 49154aa6d63Sopenharmony_ci 49254aa6d63Sopenharmony_ci std::string mode = "localSign"; 49354aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 49454aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 49554aa6d63Sopenharmony_ci std::string signCode = "1"; 49654aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 49754aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 49854aa6d63Sopenharmony_ci std::string inFile = ""; 49954aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 50054aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 50154aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 50254aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 50354aa6d63Sopenharmony_ci 50454aa6d63Sopenharmony_ci (*params)["mode"] = mode; 50554aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 50654aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 50754aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 50854aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 50954aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 51054aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 51154aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 51254aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 51354aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 51454aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 51554aa6d63Sopenharmony_ci 51654aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 51754aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 51854aa6d63Sopenharmony_ci} 51954aa6d63Sopenharmony_ci 52054aa6d63Sopenharmony_ci/* 52154aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_012 52254aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter profileFile is not exist 52354aa6d63Sopenharmony_ci * @tc.type: FUNC 52454aa6d63Sopenharmony_ci * @tc.require: 52554aa6d63Sopenharmony_ci */ 52654aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_012, testing::ext::TestSize.Level1) 52754aa6d63Sopenharmony_ci{ 52854aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 52954aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 53054aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 53154aa6d63Sopenharmony_ci 53254aa6d63Sopenharmony_ci std::string mode = "localSign"; 53354aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 53454aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 53554aa6d63Sopenharmony_ci std::string signCode = "1"; 53654aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 53754aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-nohava-profile.p7b"; 53854aa6d63Sopenharmony_ci std::string inFile = "./hapSign_test/phone-default-unsigned.hap"; 53954aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 54054aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 54154aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 54254aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 54354aa6d63Sopenharmony_ci 54454aa6d63Sopenharmony_ci (*params)["mode"] = mode; 54554aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 54654aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 54754aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 54854aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 54954aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 55054aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 55154aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 55254aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 55354aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 55454aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 55554aa6d63Sopenharmony_ci 55654aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 55754aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 55854aa6d63Sopenharmony_ci} 55954aa6d63Sopenharmony_ci 56054aa6d63Sopenharmony_ci/* 56154aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_013 56254aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter compatibleVersion is not int 56354aa6d63Sopenharmony_ci * @tc.type: FUNC 56454aa6d63Sopenharmony_ci * @tc.require: 56554aa6d63Sopenharmony_ci */ 56654aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_013, testing::ext::TestSize.Level1) 56754aa6d63Sopenharmony_ci{ 56854aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 56954aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 57054aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 57154aa6d63Sopenharmony_ci 57254aa6d63Sopenharmony_ci std::string mode = "localSign"; 57354aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 57454aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 57554aa6d63Sopenharmony_ci std::string signCode = "0"; 57654aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 57754aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 57854aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 57954aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 58054aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 58154aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 58254aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 58354aa6d63Sopenharmony_ci std::string compatibleVersion = "a"; 58454aa6d63Sopenharmony_ci 58554aa6d63Sopenharmony_ci (*params)["mode"] = mode; 58654aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 58754aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 58854aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 58954aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 59054aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 59154aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 59254aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 59354aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 59454aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 59554aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 59654aa6d63Sopenharmony_ci (*params)["compatibleVersion"] = compatibleVersion; 59754aa6d63Sopenharmony_ci 59854aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 59954aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 60054aa6d63Sopenharmony_ci} 60154aa6d63Sopenharmony_ci 60254aa6d63Sopenharmony_ci/* 60354aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_014 60454aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter inFile is not exist 60554aa6d63Sopenharmony_ci * @tc.type: FUNC 60654aa6d63Sopenharmony_ci * @tc.require: 60754aa6d63Sopenharmony_ci */ 60854aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_014, testing::ext::TestSize.Level1) 60954aa6d63Sopenharmony_ci{ 61054aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 61154aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 61254aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 61354aa6d63Sopenharmony_ci 61454aa6d63Sopenharmony_ci std::string mode = "localSign"; 61554aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 61654aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 61754aa6d63Sopenharmony_ci std::string signCode = "0"; 61854aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 61954aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 62054aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned"; 62154aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 62254aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 62354aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 62454aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 62554aa6d63Sopenharmony_ci 62654aa6d63Sopenharmony_ci (*params)["mode"] = mode; 62754aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 62854aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 62954aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 63054aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 63154aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 63254aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 63354aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 63454aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 63554aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 63654aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 63754aa6d63Sopenharmony_ci 63854aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 63954aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 64054aa6d63Sopenharmony_ci} 64154aa6d63Sopenharmony_ci 64254aa6d63Sopenharmony_ci/* 64354aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_015 64454aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter signAlg is not support 64554aa6d63Sopenharmony_ci * @tc.type: FUNC 64654aa6d63Sopenharmony_ci * @tc.require: 64754aa6d63Sopenharmony_ci */ 64854aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_015, testing::ext::TestSize.Level1) 64954aa6d63Sopenharmony_ci{ 65054aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 65154aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 65254aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 65354aa6d63Sopenharmony_ci 65454aa6d63Sopenharmony_ci std::string mode = "localSign"; 65554aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 65654aa6d63Sopenharmony_ci std::string signAlg = "SHA512withECDSA"; 65754aa6d63Sopenharmony_ci std::string signCode = "0"; 65854aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 65954aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 66054aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 66154aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 66254aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 66354aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 66454aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 66554aa6d63Sopenharmony_ci 66654aa6d63Sopenharmony_ci (*params)["mode"] = mode; 66754aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 66854aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 66954aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 67054aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 67154aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 67254aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 67354aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 67454aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 67554aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 67654aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 67754aa6d63Sopenharmony_ci 67854aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 67954aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 68054aa6d63Sopenharmony_ci} 68154aa6d63Sopenharmony_ci 68254aa6d63Sopenharmony_ci/* 68354aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_016 68454aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter profileSigned error 68554aa6d63Sopenharmony_ci * @tc.type: FUNC 68654aa6d63Sopenharmony_ci * @tc.require: 68754aa6d63Sopenharmony_ci */ 68854aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_016, testing::ext::TestSize.Level1) 68954aa6d63Sopenharmony_ci{ 69054aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 69154aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 69254aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 69354aa6d63Sopenharmony_ci 69454aa6d63Sopenharmony_ci std::string mode = "localSign"; 69554aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 69654aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 69754aa6d63Sopenharmony_ci std::string signCode = "0"; 69854aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 69954aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile-nohave.p7b"; 70054aa6d63Sopenharmony_ci std::string profileSigned = "1"; 70154aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned-test.hap"; 70254aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 70354aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed-test.hap"; 70454aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 70554aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 70654aa6d63Sopenharmony_ci 70754aa6d63Sopenharmony_ci (*params)["mode"] = mode; 70854aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 70954aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 71054aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 71154aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 71254aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 71354aa6d63Sopenharmony_ci (*params)["profileSigned"] = profileSigned; 71454aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 71554aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 71654aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 71754aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 71854aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 71954aa6d63Sopenharmony_ci 72054aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 72154aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 72254aa6d63Sopenharmony_ci} 72354aa6d63Sopenharmony_ci 72454aa6d63Sopenharmony_ci/* 72554aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_017 72654aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter signAlg is not support 72754aa6d63Sopenharmony_ci * @tc.type: FUNC 72854aa6d63Sopenharmony_ci * @tc.require: 72954aa6d63Sopenharmony_ci */ 73054aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_017, testing::ext::TestSize.Level1) 73154aa6d63Sopenharmony_ci{ 73254aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 73354aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 73454aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 73554aa6d63Sopenharmony_ci 73654aa6d63Sopenharmony_ci std::string mode = "localSign"; 73754aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 73854aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA-nohave"; 73954aa6d63Sopenharmony_ci std::string signCode = "0"; 74054aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 74154aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 74254aa6d63Sopenharmony_ci std::string profileSigned = "1"; 74354aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned-test.hap"; 74454aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 74554aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed-test.hap"; 74654aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 74754aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 74854aa6d63Sopenharmony_ci 74954aa6d63Sopenharmony_ci (*params)["mode"] = mode; 75054aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 75154aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 75254aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 75354aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 75454aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 75554aa6d63Sopenharmony_ci (*params)["profileSigned"] = profileSigned; 75654aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 75754aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 75854aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 75954aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 76054aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 76154aa6d63Sopenharmony_ci 76254aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 76354aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 76454aa6d63Sopenharmony_ci} 76554aa6d63Sopenharmony_ci 76654aa6d63Sopenharmony_ci/* 76754aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_018 76854aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter signCode is 3 76954aa6d63Sopenharmony_ci * @tc.type: FUNC 77054aa6d63Sopenharmony_ci * @tc.require: 77154aa6d63Sopenharmony_ci */ 77254aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_018, testing::ext::TestSize.Level1) 77354aa6d63Sopenharmony_ci{ 77454aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 77554aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 77654aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 77754aa6d63Sopenharmony_ci 77854aa6d63Sopenharmony_ci std::string mode = "localSign"; 77954aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 78054aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 78154aa6d63Sopenharmony_ci std::string signCode = "3"; 78254aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 78354aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 78454aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 78554aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 78654aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 78754aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 78854aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 78954aa6d63Sopenharmony_ci 79054aa6d63Sopenharmony_ci (*params)["mode"] = mode; 79154aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 79254aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 79354aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 79454aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 79554aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 79654aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 79754aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 79854aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 79954aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 80054aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 80154aa6d63Sopenharmony_ci 80254aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 80354aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 80454aa6d63Sopenharmony_ci} 80554aa6d63Sopenharmony_ci 80654aa6d63Sopenharmony_ci/* 80754aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_019 80854aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter signAlg is empty 80954aa6d63Sopenharmony_ci * @tc.type: FUNC 81054aa6d63Sopenharmony_ci * @tc.require: 81154aa6d63Sopenharmony_ci */ 81254aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_019, testing::ext::TestSize.Level1) 81354aa6d63Sopenharmony_ci{ 81454aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 81554aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 81654aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 81754aa6d63Sopenharmony_ci 81854aa6d63Sopenharmony_ci std::string mode = "localSign"; 81954aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 82054aa6d63Sopenharmony_ci std::string signAlg = ""; 82154aa6d63Sopenharmony_ci std::string signCode = "1"; 82254aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 82354aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 82454aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 82554aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 82654aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 82754aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 82854aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 82954aa6d63Sopenharmony_ci 83054aa6d63Sopenharmony_ci (*params)["mode"] = mode; 83154aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 83254aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 83354aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 83454aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 83554aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 83654aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 83754aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 83854aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 83954aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 84054aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 84154aa6d63Sopenharmony_ci 84254aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 84354aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 84454aa6d63Sopenharmony_ci} 84554aa6d63Sopenharmony_ci 84654aa6d63Sopenharmony_ci/* 84754aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_020 84854aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter profileFile is empty 84954aa6d63Sopenharmony_ci * @tc.type: FUNC 85054aa6d63Sopenharmony_ci * @tc.require: 85154aa6d63Sopenharmony_ci */ 85254aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_020, testing::ext::TestSize.Level1) 85354aa6d63Sopenharmony_ci{ 85454aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 85554aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 85654aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 85754aa6d63Sopenharmony_ci 85854aa6d63Sopenharmony_ci std::string mode = "localSign"; 85954aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 86054aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 86154aa6d63Sopenharmony_ci std::string signCode = "1"; 86254aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 86354aa6d63Sopenharmony_ci std::string profileFile = ""; 86454aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned.hap"; 86554aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 86654aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed.hap"; 86754aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 86854aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 86954aa6d63Sopenharmony_ci 87054aa6d63Sopenharmony_ci (*params)["mode"] = mode; 87154aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 87254aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 87354aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 87454aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 87554aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 87654aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 87754aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 87854aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 87954aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 88054aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 88154aa6d63Sopenharmony_ci 88254aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 88354aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 88454aa6d63Sopenharmony_ci} 88554aa6d63Sopenharmony_ci 88654aa6d63Sopenharmony_ci/* 88754aa6d63Sopenharmony_ci * @tc.name: sign_provider_test_021 88854aa6d63Sopenharmony_ci * @tc.desc: This function tests failure for interface Sign due to parameter appCertFile is empty 88954aa6d63Sopenharmony_ci * @tc.type: FUNC 89054aa6d63Sopenharmony_ci * @tc.require: 89154aa6d63Sopenharmony_ci */ 89254aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, sign_provider_test_021, testing::ext::TestSize.Level1) 89354aa6d63Sopenharmony_ci{ 89454aa6d63Sopenharmony_ci SIGNATURE_TOOLS_LOGI("hello world !!!"); 89554aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 89654aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 89754aa6d63Sopenharmony_ci 89854aa6d63Sopenharmony_ci std::string mode = "localSign"; 89954aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 90054aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 90154aa6d63Sopenharmony_ci std::string signCode = "0"; 90254aa6d63Sopenharmony_ci std::string appCertFile = ""; 90354aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 90454aa6d63Sopenharmony_ci std::string profileSigned = "1"; 90554aa6d63Sopenharmony_ci std::string inFile = "./hapSign/phone-default-unsigned-test.hap"; 90654aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 90754aa6d63Sopenharmony_ci std::string outFile = "./hapSign/phone-default-signed-test.hap"; 90854aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 90954aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 91054aa6d63Sopenharmony_ci 91154aa6d63Sopenharmony_ci (*params)["mode"] = mode; 91254aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 91354aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 91454aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 91554aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 91654aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 91754aa6d63Sopenharmony_ci (*params)["profileSigned"] = profileSigned; 91854aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 91954aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 92054aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 92154aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 92254aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 92354aa6d63Sopenharmony_ci 92454aa6d63Sopenharmony_ci bool ret = signProvider->Sign(params.get()); 92554aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 92654aa6d63Sopenharmony_ci} 92754aa6d63Sopenharmony_ci 92854aa6d63Sopenharmony_ci/* 92954aa6d63Sopenharmony_ci * @tc.name: SignElf_001 93054aa6d63Sopenharmony_ci * @tc.desc: Test function result of SignElf_001 will be SUCCESS. 93154aa6d63Sopenharmony_ci * @tc.type: FUNC 93254aa6d63Sopenharmony_ci * @tc.require: 93354aa6d63Sopenharmony_ci */ 93454aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, SignElf_001, testing::ext::TestSize.Level1) 93554aa6d63Sopenharmony_ci{ 93654aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 93754aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 93854aa6d63Sopenharmony_ci 93954aa6d63Sopenharmony_ci std::string mode = "localSign"; 94054aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 94154aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 94254aa6d63Sopenharmony_ci std::string signCode = "1"; 94354aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 94454aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 94554aa6d63Sopenharmony_ci std::string inFile = "./codeSigning/unsigned-file.hap"; 94654aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 94754aa6d63Sopenharmony_ci std::string outFile = "./hapSign/entry-default-signed.elf"; 94854aa6d63Sopenharmony_ci std::string inForm = "elf"; 94954aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 95054aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 95154aa6d63Sopenharmony_ci 95254aa6d63Sopenharmony_ci (*params)["mode"] = mode; 95354aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 95454aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 95554aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 95654aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 95754aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 95854aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 95954aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 96054aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 96154aa6d63Sopenharmony_ci (*params)["inForm"] = inForm; 96254aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 96354aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 96454aa6d63Sopenharmony_ci bool ret = signProvider->SignElf(params.get()); 96554aa6d63Sopenharmony_ci 96654aa6d63Sopenharmony_ci EXPECT_NE(ret, -1); 96754aa6d63Sopenharmony_ci} 96854aa6d63Sopenharmony_ci 96954aa6d63Sopenharmony_ci/* 97054aa6d63Sopenharmony_ci * @tc.name: SignElf_002 97154aa6d63Sopenharmony_ci * @tc.desc: The return will be false, because the profileFile is null. 97254aa6d63Sopenharmony_ci * @tc.type: FUNC 97354aa6d63Sopenharmony_ci * @tc.require: 97454aa6d63Sopenharmony_ci */ 97554aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, SignElf_002, testing::ext::TestSize.Level1) 97654aa6d63Sopenharmony_ci{ 97754aa6d63Sopenharmony_ci // profileFile:p7b is null 97854aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 97954aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 98054aa6d63Sopenharmony_ci 98154aa6d63Sopenharmony_ci std::string mode = "localSign"; 98254aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 98354aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 98454aa6d63Sopenharmony_ci std::string signCode = "1"; 98554aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 98654aa6d63Sopenharmony_ci std::string inFile = "./codeSigning/unsigned-file.hap"; 98754aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 98854aa6d63Sopenharmony_ci std::string outFile = "./hapSign/entry-default-signed.elf"; 98954aa6d63Sopenharmony_ci std::string inForm = "elf"; 99054aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 99154aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 99254aa6d63Sopenharmony_ci 99354aa6d63Sopenharmony_ci (*params)["mode"] = mode; 99454aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 99554aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 99654aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 99754aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 99854aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 99954aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 100054aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 100154aa6d63Sopenharmony_ci (*params)["inForm"] = inForm; 100254aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 100354aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 100454aa6d63Sopenharmony_ci bool ret = signProvider->SignElf(params.get()); 100554aa6d63Sopenharmony_ci EXPECT_NE(ret, -1); 100654aa6d63Sopenharmony_ci} 100754aa6d63Sopenharmony_ci 100854aa6d63Sopenharmony_ci/* 100954aa6d63Sopenharmony_ci * @tc.name: SignElf_003 101054aa6d63Sopenharmony_ci * @tc.desc: The return will be false, because the compatibleVersion is null. 101154aa6d63Sopenharmony_ci * @tc.type: FUNC 101254aa6d63Sopenharmony_ci * @tc.require: 101354aa6d63Sopenharmony_ci */ 101454aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, SignElf_003, testing::ext::TestSize.Level1) 101554aa6d63Sopenharmony_ci{ 101654aa6d63Sopenharmony_ci // compatibleVersion is null 101754aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 101854aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 101954aa6d63Sopenharmony_ci 102054aa6d63Sopenharmony_ci std::string mode = "localSign"; 102154aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 102254aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 102354aa6d63Sopenharmony_ci std::string signCode = "1"; 102454aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 102554aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 102654aa6d63Sopenharmony_ci std::string inFile = "./codeSigning/unsigned-file.hap"; 102754aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 102854aa6d63Sopenharmony_ci std::string outFile = "./hapSign/entry-default-signed.elf"; 102954aa6d63Sopenharmony_ci std::string inForm = "elf"; 103054aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 103154aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 103254aa6d63Sopenharmony_ci std::string compatibleVersion = ""; 103354aa6d63Sopenharmony_ci 103454aa6d63Sopenharmony_ci (*params)["mode"] = mode; 103554aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 103654aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 103754aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 103854aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 103954aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 104054aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 104154aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 104254aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 104354aa6d63Sopenharmony_ci (*params)["inForm"] = inForm; 104454aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 104554aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 104654aa6d63Sopenharmony_ci (*params)["compatibleVersion"] = compatibleVersion; 104754aa6d63Sopenharmony_ci bool ret = signProvider->SignElf(params.get()); 104854aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 104954aa6d63Sopenharmony_ci} 105054aa6d63Sopenharmony_ci 105154aa6d63Sopenharmony_ci/* 105254aa6d63Sopenharmony_ci * @tc.name: SignElf_004 105354aa6d63Sopenharmony_ci * @tc.desc: The return will be false, because the inFile is null. 105454aa6d63Sopenharmony_ci * @tc.type: FUNC 105554aa6d63Sopenharmony_ci * @tc.require: 105654aa6d63Sopenharmony_ci */ 105754aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, SignElf_004, testing::ext::TestSize.Level1) 105854aa6d63Sopenharmony_ci{ 105954aa6d63Sopenharmony_ci // inFile is null 106054aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 106154aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 106254aa6d63Sopenharmony_ci 106354aa6d63Sopenharmony_ci std::string mode = "localSign"; 106454aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 106554aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 106654aa6d63Sopenharmony_ci std::string signCode = "1"; 106754aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 106854aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 106954aa6d63Sopenharmony_ci std::string inFile = ""; 107054aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 107154aa6d63Sopenharmony_ci std::string outFile = "./hapSign/entry-default-signed.elf"; 107254aa6d63Sopenharmony_ci std::string inForm = "elf"; 107354aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 107454aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 107554aa6d63Sopenharmony_ci 107654aa6d63Sopenharmony_ci (*params)["mode"] = mode; 107754aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 107854aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 107954aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 108054aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 108154aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 108254aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 108354aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 108454aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 108554aa6d63Sopenharmony_ci (*params)["inForm"] = inForm; 108654aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 108754aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 108854aa6d63Sopenharmony_ci 108954aa6d63Sopenharmony_ci bool ret = signProvider->SignElf(params.get()); 109054aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 109154aa6d63Sopenharmony_ci} 109254aa6d63Sopenharmony_ci 109354aa6d63Sopenharmony_ci/* 109454aa6d63Sopenharmony_ci * @tc.name: SignElf_005 109554aa6d63Sopenharmony_ci * @tc.desc: The return will be false, because the inFile path is error. 109654aa6d63Sopenharmony_ci * @tc.type: FUNC 109754aa6d63Sopenharmony_ci * @tc.require: 109854aa6d63Sopenharmony_ci */ 109954aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, SignElf_005, testing::ext::TestSize.Level1) 110054aa6d63Sopenharmony_ci{ 110154aa6d63Sopenharmony_ci // inFile path is false 110254aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 110354aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 110454aa6d63Sopenharmony_ci 110554aa6d63Sopenharmony_ci std::string mode = "localSign"; 110654aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 110754aa6d63Sopenharmony_ci std::string signAlg = "SHA256withECDSA"; 110854aa6d63Sopenharmony_ci std::string signCode = "1"; 110954aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 111054aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 111154aa6d63Sopenharmony_ci std::string inFile = "./hapSign_test/unsigned-file.hap"; 111254aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 111354aa6d63Sopenharmony_ci std::string outFile = "./hapSign/entry-default-signed.elf"; 111454aa6d63Sopenharmony_ci std::string inForm = "elf"; 111554aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 111654aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 111754aa6d63Sopenharmony_ci 111854aa6d63Sopenharmony_ci (*params)["mode"] = mode; 111954aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 112054aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 112154aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 112254aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 112354aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 112454aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 112554aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 112654aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 112754aa6d63Sopenharmony_ci (*params)["inForm"] = inForm; 112854aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 112954aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 113054aa6d63Sopenharmony_ci bool ret = signProvider->SignElf(params.get()); 113154aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 113254aa6d63Sopenharmony_ci} 113354aa6d63Sopenharmony_ci 113454aa6d63Sopenharmony_ci/* 113554aa6d63Sopenharmony_ci * @tc.name: SignElf_006 113654aa6d63Sopenharmony_ci * @tc.desc: The return will be false, because the signAlg format does not support. 113754aa6d63Sopenharmony_ci * @tc.type: FUNC 113854aa6d63Sopenharmony_ci * @tc.require: 113954aa6d63Sopenharmony_ci */ 114054aa6d63Sopenharmony_ciHWTEST_F(SignProviderTest, SignElf_006, testing::ext::TestSize.Level1) 114154aa6d63Sopenharmony_ci{ 114254aa6d63Sopenharmony_ci // signAlg format is false 114354aa6d63Sopenharmony_ci std::unique_ptr<SignProvider> signProvider = std::make_unique<LocalSignProvider>(); 114454aa6d63Sopenharmony_ci std::shared_ptr<Options> params = std::make_shared<Options>(); 114554aa6d63Sopenharmony_ci 114654aa6d63Sopenharmony_ci std::string mode = "localSign"; 114754aa6d63Sopenharmony_ci std::string keyAlias = "oh-app1-key-v1"; 114854aa6d63Sopenharmony_ci std::string signAlg = "SHA512withECDSA"; 114954aa6d63Sopenharmony_ci std::string signCode = "1"; 115054aa6d63Sopenharmony_ci std::string appCertFile = "./hapSign/app-release1.pem"; 115154aa6d63Sopenharmony_ci std::string profileFile = "./hapSign/signed-profile.p7b"; 115254aa6d63Sopenharmony_ci std::string inFile = "./codeSigning/unsigned-file.hap"; 115354aa6d63Sopenharmony_ci std::string keystoreFile = "./hapSign/ohtest.p12"; 115454aa6d63Sopenharmony_ci std::string outFile = "./hapSign/entry-default-signed.elf"; 115554aa6d63Sopenharmony_ci std::string inForm = "elf"; 115654aa6d63Sopenharmony_ci char keyPwd[] = "123456"; 115754aa6d63Sopenharmony_ci char keystorePwd[] = "123456"; 115854aa6d63Sopenharmony_ci 115954aa6d63Sopenharmony_ci (*params)["mode"] = mode; 116054aa6d63Sopenharmony_ci (*params)["keyAlias"] = keyAlias; 116154aa6d63Sopenharmony_ci (*params)["signAlg"] = signAlg; 116254aa6d63Sopenharmony_ci (*params)["signCode"] = signCode; 116354aa6d63Sopenharmony_ci (*params)["appCertFile"] = appCertFile; 116454aa6d63Sopenharmony_ci (*params)["profileFile"] = profileFile; 116554aa6d63Sopenharmony_ci (*params)["inFile"] = inFile; 116654aa6d63Sopenharmony_ci (*params)["keystoreFile"] = keystoreFile; 116754aa6d63Sopenharmony_ci (*params)["outFile"] = outFile; 116854aa6d63Sopenharmony_ci (*params)["inForm"] = inForm; 116954aa6d63Sopenharmony_ci (*params)["keyPwd"] = keyPwd; 117054aa6d63Sopenharmony_ci (*params)["keystorePwd"] = keystorePwd; 117154aa6d63Sopenharmony_ci bool ret = signProvider->SignElf(params.get()); 117254aa6d63Sopenharmony_ci EXPECT_EQ(ret, false); 117354aa6d63Sopenharmony_ci} 117454aa6d63Sopenharmony_ci} // namespace SignatureTools 117554aa6d63Sopenharmony_ci} // namespace OHOS 1176