• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024-2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 #include "signature_tools_log.h"
18 #include "options.h"
19 #include "sign_tool_service_impl.h"
20 #include "localization_adapter.h"
21 #include "openssl/ssl.h"
22 #include "openssl/pem.h"
23 #include "openssl/err.h"
24 #include "p12_local.h"
25 #include "cmd_util.h"
26 #include "file_utils.h"
27 #include "params_run_tool.h"
28 #include "constant.h"
29 #include "params.h"
30 #include "params_trust_list.h"
31 #include "param_constants.h"
32 
33 namespace OHOS {
34 namespace SignatureTools {
35 
36 class ProcessCmdExpansionTest : public testing::Test {
37 public:
SetUpTestCase()38     static void SetUpTestCase()
39     {
40     };
TearDownTestCase()41     static void TearDownTestCase()
42     {
43     };
SetUp()44     void SetUp()
45     {
46     };
TearDown()47     void TearDown()
48     {
49     };
50 };
51 
52 
53 /*
54  * @tc.name: processcmd_expansion_test_001
55  * @tc.desc: Check whether basicConstraintsCa parameter for [ 1, 0, true, false, true, false ].
56  * @tc.type: FUNC
57  * @tc.require:
58  */
59 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_001, testing::ext::TestSize.Level1)
60 {
61     char arg0[] = "";
62     char arg1[] = "generate-cert";
63     char arg2[] = "-keyAlias";
64     char arg3[] = "oh-profile1-key-v1";
65     char arg4[] = "-keyPwd";
66     char arg5[] = "123456";
67     char arg6[] = "-issuer";
68     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
69     char arg8[] = "-issuerKeyAlias";
70     char arg9[] = "oh-profile-sign-srv-ca-key-v1";
71     char arg10[] = "-subject";
72     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
73     char arg12[] = "-validity";
74     char arg13[] = "365";
75     char arg14[] = "-signAlg";
76     char arg15[] = "SHA384withECDSA";
77     char arg16[] = "-keystoreFile";
78     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
79     char arg18[] = "-keystorePwd";
80     char arg19[] = "123456";
81     char arg20[] = "-outFile";
82     char arg21[] = "./generateKeyPair/general.cer";
83     char arg22[] = "-basicConstraintsCa";
84     char arg23[] = "true";
85     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
86                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21, arg22, arg23 };
87     int argc = 24;
88 
89     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
90 
91     EXPECT_EQ(ret, false);
92 }
93 
94 /*
95  * @tc.name: processcmd_expansion_test_002
96  * @tc.desc: Check whether basicConstraintsCa parameter for [ 1, 0, true, false, true, false ].
97  * @tc.type: FUNC
98  * @tc.require:
99  */
100 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_002, testing::ext::TestSize.Level1)
101 {
102     char arg0[] = "";
103     char arg1[] = "generate-cert";
104     char arg2[] = "-keyAlias";
105     char arg3[] = "oh-profile1-key-v1";
106     char arg4[] = "-keyPwd";
107     char arg5[] = "123456";
108     char arg6[] = "-issuer";
109     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
110     char arg8[] = "-issuerKeyAlias";
111     char arg9[] = "oh-profile-sign-srv-ca-key-v1";
112     char arg10[] = "-subject";
113     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
114     char arg12[] = "-validity";
115     char arg13[] = "365";
116     char arg14[] = "-signAlg";
117     char arg15[] = "SHA384withECDSA";
118     char arg16[] = "-keystoreFile";
119     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
120     char arg18[] = "-keystorePwd";
121     char arg19[] = "123456";
122     char arg20[] = "-outFile";
123     char arg21[] = "./generateKeyPair/general.cer";
124     char arg22[] = "-basicConstraintsCa";
125     char arg23[] = "TRUE";
126     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
127                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21, arg22, arg23 };
128     int argc = 24;
129 
130     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
131 
132     EXPECT_EQ(ret, false);
133 }
134 
135 /*
136  * @tc.name: processcmd_expansion_test_003
137  * @tc.desc: Check that the -inFile argument is a valid path.
138  * @tc.type: FUNC
139  * @tc.require:
140  */
141 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_003, testing::ext::TestSize.Level1)
142 {
143     char arg0[] = "";
144     char arg1[] = "sign-profile";
145     char arg2[] = "-keyAlias";
146     char arg3[] = "oh-profile1-key-v1";
147     char arg4[] = "-keyPwd";
148     char arg5[] = "123456";
149     char arg6[] = "-mode";
150     char arg7[] = "localSign";
151     char arg8[] = "-signAlg";
152     char arg9[] = "SHA384withECDSA";
153     char arg10[] = "-inFile";
154     char arg11[] = "./abcd/profile11.json";
155     char arg12[] = "-keystoreFile";
156     char arg13[] = "./generateKeyPair/OpenHarmony.p12";
157     char arg14[] = "-keystorePwd";
158     char arg15[] = "123456";
159     char arg16[] = "-outFile";
160     char arg17[] = "./generateKeyPair/signed-profile.p7b";
161     char arg18[] = "-profileCertFile";
162     char arg19[] = "./generateKeyPair/signed-profile.p7b";
163     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
164                      arg13, arg14, arg15, arg16, arg17, arg18, arg19 };
165     int argc = 20;
166 
167     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
168 
169     EXPECT_EQ(ret, false);
170 }
171 
172 /*
173  * @tc.name: processcmd_expansion_test_004
174  * @tc.desc: The app-cert certificate is generated by the SHA256withECDSA signature algorithm.
175  * @tc.type: FUNC
176  * @tc.require:
177  */
178 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_004, testing::ext::TestSize.Level1)
179 {
180     char arg0[] = "";
181     char arg1[] = "generate-app-cert";
182     char arg2[] = "-keyAlias";
183     char arg3[] = "oh-app1-key-v1";
184     char arg4[] = "-keyPwd";
185     char arg5[] = "123456";
186     char arg6[] = "-issuer";
187     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
188     char arg8[] = "-issuerKeyAlias";
189     char arg9[] = "oh-app-sign-srv-ca-key-v1";
190     char arg10[] = "-subject";
191     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
192     char arg12[] = "-validity";
193     char arg13[] = "365";
194     char arg14[] = "-signAlg";
195     char arg15[] = "SHA256withECDSA";
196     char arg16[] = "-keystoreFile";
197     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
198     char arg18[] = "-keystorePwd";
199     char arg19[] = "123456";
200     char arg20[] = "-outFile";
201     char arg21[] = "./generateKeyPair/app-release1.pem";
202     char arg22[] = "-subCaCertFile";
203     char arg23[] = "./generateKeyPair/app-sign-srv-ca1.cer";
204     char arg24[] = "-outForm";
205     char arg25[] = "certChain";
206     char arg26[] = "-rootCaCertFile";
207     char arg27[] = "./generateKeyPair/root-ca1.cer";
208     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
209                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21,
210                      arg22, arg23, arg24, arg25, arg26, arg27 };
211     int argc = 28;
212 
213     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
214 
215     EXPECT_EQ(ret, false);
216 }
217 
218 /*
219  * @tc.name: processcmd_expansion_test_005
220  * @tc.desc: The app-cert certificate is generated by the SHA384withECDSA signature algorithm.
221  * @tc.type: FUNC
222  * @tc.require:
223  */
224 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_005, testing::ext::TestSize.Level1)
225 {
226     char arg0[] = "";
227     char arg1[] = "generate-app-cert";
228     char arg2[] = "-keyAlias";
229     char arg3[] = "oh-app1-key-v1";
230     char arg4[] = "-keyPwd";
231     char arg5[] = "123456";
232     char arg6[] = "-issuer";
233     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
234     char arg8[] = "-issuerKeyAlias";
235     char arg9[] = "oh-app-sign-srv-ca-key-v1";
236     char arg10[] = "-subject";
237     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
238     char arg12[] = "-validity";
239     char arg13[] = "365";
240     char arg14[] = "-signAlg";
241     char arg15[] = "SHA384withECDSA";
242     char arg16[] = "-keystoreFile";
243     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
244     char arg18[] = "-keystorePwd";
245     char arg19[] = "123456";
246     char arg20[] = "-outFile";
247     char arg21[] = "./generateKeyPair/app-release1.pem";
248     char arg22[] = "-subCaCertFile";
249     char arg23[] = "./generateKeyPair/app-sign-srv-ca1.cer";
250     char arg24[] = "-outForm";
251     char arg25[] = "certChain";
252     char arg26[] = "-rootCaCertFile";
253     char arg27[] = "./generateKeyPair/root-ca1.cer";
254     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
255                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21,
256                      arg22, arg23, arg24, arg25, arg26, arg27 };
257     int argc = 28;
258 
259     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
260 
261     EXPECT_EQ(ret, false);
262 }
263 
264 /*
265  * @tc.name: processcmd_expansion_test_006
266  * @tc.desc: Check if the signature algorithm is SHA384withECDSA or SHA256withECDSA.
267  * @tc.type: FUNC
268  * @tc.require:
269  */
270 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_006, testing::ext::TestSize.Level1)
271 {
272     char arg0[] = "";
273     char arg1[] = "generate-app-cert";
274     char arg2[] = "-keyAlias";
275     char arg3[] = "oh-app1-key-v1";
276     char arg4[] = "-keyPwd";
277     char arg5[] = "123456";
278     char arg6[] = "-issuer";
279     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
280     char arg8[] = "-issuerKeyAlias";
281     char arg9[] = "oh-app-sign-srv-ca-key-v1";
282     char arg10[] = "-subject";
283     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
284     char arg12[] = "-validity";
285     char arg13[] = "365";
286     char arg14[] = "-signAlg";
287     char arg15[] = "abc";
288     char arg16[] = "-keystoreFile";
289     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
290     char arg18[] = "-keystorePwd";
291     char arg19[] = "123456";
292     char arg20[] = "-outFile";
293     char arg21[] = "./generateKeyPair/app-release1.pem";
294     char arg22[] = "-subCaCertFile";
295     char arg23[] = "./generateKeyPair/app-sign-srv-ca1.cer";
296     char arg24[] = "-outForm";
297     char arg25[] = "certChain";
298     char arg26[] = "-rootCaCertFile";
299     char arg27[] = "./generateKeyPair/root-ca1.cer";
300     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
301                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21,
302                      arg22, arg23, arg24, arg25, arg26, arg27 };
303     int argc = 28;
304 
305     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
306 
307     EXPECT_EQ(ret, false);
308 }
309 
310 /*
311  * @tc.name: processcmd_expansion_test_007
312  * @tc.desc: The verify-app module checks whether the -inForm parameter is valid.
313  * @tc.type: FUNC
314  * @tc.require:
315  */
316 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_007, testing::ext::TestSize.Level1)
317 {
318     char arg0[] = "";
319     char arg1[] = "verify-app";
320     char arg2[] = "-inFile";
321     char arg3[] = "./generateKeyPair/OpenHarmonyDamage.p12";
322     char arg4[] = "-outCertChain";
323     char arg5[] = "./generateKeyPair/app-sign-srv-ca1.cer";
324     char arg6[] = "-outProfile";
325     char arg7[] = "./generateKeyPair/app-profile.p7b";
326     char arg8[] = "-inForm";
327     char arg9[] = "abc";
328     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 };
329     int argc = 10;
330 
331     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
332 
333     EXPECT_EQ(ret, false);
334 }
335 
336 /*
337  * @tc.name: processcmd_expansion_test_008
338  * @tc.desc: The generate-app-cert module checks whether the -outForm parameter is valid.
339  * @tc.type: FUNC
340  * @tc.require:
341  */
342 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_008, testing::ext::TestSize.Level1)
343 {
344     char arg0[] = "";
345     char arg1[] = "generate-app-cert";
346     char arg2[] = "-keyAlias";
347     char arg3[] = "oh-app1-key-v1";
348     char arg4[] = "-keyPwd";
349     char arg5[] = "123456";
350     char arg6[] = "-issuer";
351     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
352     char arg8[] = "-issuerKeyAlias";
353     char arg9[] = "oh-app-sign-srv-ca-key-v1";
354     char arg10[] = "-subject";
355     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
356     char arg12[] = "-validity";
357     char arg13[] = "365";
358     char arg14[] = "-signAlg";
359     char arg15[] = "SHA384withECDSA";
360     char arg16[] = "-keystoreFile";
361     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
362     char arg18[] = "-keystorePwd";
363     char arg19[] = "123456";
364     char arg20[] = "-outFile";
365     char arg21[] = "./generateKeyPair/app-release1.pem";
366     char arg22[] = "-subCaCertFile";
367     char arg23[] = "./generateKeyPair/app-sign-srv-ca1.cer";
368     char arg24[] = "-outForm";
369     char arg25[] = "abcd";
370     char arg26[] = "-rootCaCertFile";
371     char arg27[] = "./generateKeyPair/root-ca1.cer";
372     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
373                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21,
374                      arg22, arg23, arg24, arg25, arg26, arg27 };
375     int argc = 28;
376 
377     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
378 
379     EXPECT_EQ(ret, false);
380 }
381 
382 /*
383  * @tc.name: processcmd_expansion_test_009
384  * @tc.desc: The generate-profile-cert module checks whether the -outForm parameter is valid.
385  * @tc.type: FUNC
386  * @tc.require:
387  */
388 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_009, testing::ext::TestSize.Level1)
389 {
390     char arg0[] = "";
391     char arg1[] = "generate-profile-cert";
392     char arg2[] = "-keyAlias";
393     char arg3[] = "oh-app1-key-v1";
394     char arg4[] = "-keyPwd";
395     char arg5[] = "123456";
396     char arg6[] = "-issuer";
397     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
398     char arg8[] = "-issuerKeyAlias";
399     char arg9[] = "oh-app-sign-srv-ca-key-v1";
400     char arg10[] = "-subject";
401     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
402     char arg12[] = "-validity";
403     char arg13[] = "365";
404     char arg14[] = "-signAlg";
405     char arg15[] = "SHA384withECDSA";
406     char arg16[] = "-keystoreFile";
407     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
408     char arg18[] = "-keystorePwd";
409     char arg19[] = "123456";
410     char arg20[] = "-outFile";
411     char arg21[] = "./generateKeyPair/app-release1.pem";
412     char arg22[] = "-subCaCertFile";
413     char arg23[] = "./generateKeyPair/app-sign-srv-ca1.cer";
414     char arg24[] = "-outForm";
415     char arg25[] = "abcd";
416     char arg26[] = "-rootCaCertFile";
417     char arg27[] = "./generateKeyPair/root-ca1.cer";
418     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
419                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21,
420                      arg22, arg23, arg24, arg25, arg26, arg27 };
421     int argc = 28;
422 
423     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
424 
425     EXPECT_EQ(ret, false);
426 }
427 
428 /*
429  * @tc.name: processcmd_expansion_test_010
430  * @tc.desc: The generate-profile-cert module checks whether the -outForm parameter is valid.
431  * @tc.type: FUNC
432  * @tc.require:
433  */
434 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_010, testing::ext::TestSize.Level1)
435 {
436     char arg0[] = "";
437     char arg1[] = "generate-profile-cert";
438     char arg2[] = "-keyAlias";
439     char arg3[] = "oh-app1-key-v1";
440     char arg4[] = "-keyPwd";
441     char arg5[] = "123456";
442     char arg6[] = "-issuer";
443     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
444     char arg8[] = "-issuerKeyAlias";
445     char arg9[] = "oh-app-sign-srv-ca-key-v1";
446     char arg10[] = "-subject";
447     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
448     char arg12[] = "-validity";
449     char arg13[] = "365";
450     char arg14[] = "-signAlg";
451     char arg15[] = "SHA384withECDSA";
452     char arg16[] = "-keystoreFile";
453     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
454     char arg18[] = "-keystorePwd";
455     char arg19[] = "123456";
456     char arg20[] = "-outFile";
457     char arg21[] = "./generateKeyPair/app-release1.pem";
458     char arg22[] = "-subCaCertFile";
459     char arg23[] = "./generateKeyPair/app-sign-srv-ca1.cer";
460     char arg24[] = "-outForm";
461     char arg25[] = "cert";
462     char arg26[] = "-rootCaCertFile";
463     char arg27[] = "./generateKeyPair/root-ca1.cer";
464     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
465                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21,
466                      arg22, arg23, arg24, arg25, arg26, arg27 };
467     int argc = 28;
468 
469     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
470 
471     EXPECT_EQ(ret, false);
472 }
473 
474 /*
475  * @tc.name: processcmd_expansion_test_011
476  * @tc.desc: The generate-profile-cert module checks whether the -outForm parameter is valid.
477  * @tc.type: FUNC
478  * @tc.require:
479  */
480 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_011, testing::ext::TestSize.Level1)
481 {
482     char arg0[] = "";
483     char arg1[] = "generate-profile-cert";
484     char arg2[] = "-keyAlias";
485     char arg3[] = "oh-app1-key-v1";
486     char arg4[] = "-keyPwd";
487     char arg5[] = "123456";
488     char arg6[] = "-issuer";
489     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
490     char arg8[] = "-issuerKeyAlias";
491     char arg9[] = "oh-app-sign-srv-ca-key-v1";
492     char arg10[] = "-subject";
493     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
494     char arg12[] = "-validity";
495     char arg13[] = "365";
496     char arg14[] = "-signAlg";
497     char arg15[] = "SHA384withECDSA";
498     char arg16[] = "-keystoreFile";
499     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
500     char arg18[] = "-keystorePwd";
501     char arg19[] = "123456";
502     char arg20[] = "-outFile";
503     char arg21[] = "./generateKeyPair/app-release1.pem";
504     char arg22[] = "-subCaCertFile";
505     char arg23[] = "./generateKeyPair/app-sign-srv-ca1.cer";
506     char arg24[] = "-outForm";
507     char arg25[] = "certChain";
508     char arg26[] = "-rootCaCertFile";
509     char arg27[] = "./generateKeyPair/root-ca1.cer";
510     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
511                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21,
512                      arg22, arg23, arg24, arg25, arg26, arg27 };
513     int argc = 28;
514 
515     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
516 
517     EXPECT_EQ(ret, false);
518 }
519 
520 /*
521  * @tc.name: processcmd_expansion_test_012
522  * @tc.desc: The generate-profile-cert module checks whether the -outForm parameter is valid.
523  * @tc.type: FUNC
524  * @tc.require:
525  */
526 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_012, testing::ext::TestSize.Level1)
527 {
528     char arg0[] = "";
529     char arg1[] = "generate-cert";
530     char arg2[] = "-keyAlias";
531     char arg3[] = "oh-profile1-key-v1";
532     char arg4[] = "-keyPwd";
533     char arg5[] = "123456";
534     char arg6[] = "-issuer";
535     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
536     char arg8[] = "-issuerKeyAlias";
537     char arg9[] = "oh-profile-sign-srv-ca-key-v1";
538     char arg10[] = "-subject";
539     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
540     char arg12[] = "-validity";
541     char arg13[] = "365";
542     char arg14[] = "-signAlg";
543     char arg15[] = "SHA384withECDSA";
544     char arg16[] = "-keystoreFile";
545     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
546     char arg18[] = "-keystorePwd";
547     char arg19[] = "123456";
548     char arg20[] = "-outFile";
549     char arg21[] = "./generateKeyPair/general.cer";
550     char arg22[] = "-keyUsageCritical";
551     char arg23[] = "1";
552     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
553                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21, arg22, arg23 };
554     int argc = 24;
555 
556     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
557 
558     EXPECT_EQ(ret, false);
559 }
560 
561 /*
562  * @tc.name: processcmd_expansion_test_013
563  * @tc.desc: Required parameter test of generate-cert module.
564  * @tc.type: FUNC
565  * @tc.require:
566  */
567 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_013, testing::ext::TestSize.Level1)
568 {
569     char arg0[] = "";
570     char arg1[] = "generate-cert";
571     char arg2[] = "-keyAlias";
572     char arg3[] = "oh-profile1-key-v1";
573     char arg4[] = "-keyPwd";
574     char arg5[] = "123456";
575     char arg6[] = "-issuer";
576     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
577     char arg8[] = "-issuerKeyAlias";
578     char arg9[] = "oh-profile-sign-srv-ca-key-v1";
579     char arg10[] = "-subject";
580     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
581     char arg12[] = "-validity";
582     char arg13[] = "365";
583     char arg16[] = "-keystoreFile";
584     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
585     char arg18[] = "-keystorePwd";
586     char arg19[] = "123456";
587     char arg20[] = "-outFile";
588     char arg21[] = "./generateKeyPair/general.cer";
589     char arg22[] = "-keyUsageCritical";
590     char arg23[] = "1";
591     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
592                      arg13, arg16, arg17, arg18, arg19, arg20, arg21, arg22, arg23 };
593     int argc = 22;
594 
595     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
596 
597     EXPECT_EQ(ret, false);
598 }
599 
600 /*
601  * @tc.name: processcmd_expansion_test_014
602  * @tc.desc: The signature algorithm SHA256withECDSA is used to generate the generic certificate.
603  * @tc.type: FUNC
604  * @tc.require:
605  */
606 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_014, testing::ext::TestSize.Level1)
607 {
608     char arg0[] = "";
609     char arg1[] = "generate-cert";
610     char arg2[] = "-keyAlias";
611     char arg3[] = "oh-profile1-key-v1";
612     char arg4[] = "-keyPwd";
613     char arg5[] = "123456";
614     char arg6[] = "-issuer";
615     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
616     char arg8[] = "-issuerKeyAlias";
617     char arg9[] = "oh-profile-sign-srv-ca-key-v1";
618     char arg10[] = "-subject";
619     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
620     char arg12[] = "-validity";
621     char arg13[] = "365";
622     char arg14[] = "-signAlg";
623     char arg15[] = "SHA256withECDSA";
624     char arg16[] = "-keystoreFile";
625     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
626     char arg18[] = "-keystorePwd";
627     char arg19[] = "123456";
628     char arg20[] = "-outFile";
629     char arg21[] = "./generateKeyPair/general.cer";
630     char arg22[] = "-keyUsageCritical";
631     char arg23[] = "1";
632     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
633                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21, arg22, arg23 };
634     int argc = 24;
635 
636     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
637 
638     EXPECT_EQ(ret, false);
639 }
640 
641 /*
642  * @tc.name: processcmd_expansion_test_015
643  * @tc.desc: The signature algorithm SHA384withECDSA is used to generate the generic certificate.
644  * @tc.type: FUNC
645  * @tc.require:
646  */
647 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_015, testing::ext::TestSize.Level1)
648 {
649     char arg0[] = "";
650     char arg1[] = "generate-cert";
651     char arg2[] = "-keyAlias";
652     char arg3[] = "oh-profile1-key-v1";
653     char arg4[] = "-keyPwd";
654     char arg5[] = "123456";
655     char arg6[] = "-issuer";
656     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
657     char arg8[] = "-issuerKeyAlias";
658     char arg9[] = "oh-profile-sign-srv-ca-key-v1";
659     char arg10[] = "-subject";
660     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
661     char arg12[] = "-validity";
662     char arg13[] = "365";
663     char arg14[] = "-signAlg";
664     char arg15[] = "SHA384withECDSA";
665     char arg16[] = "-keystoreFile";
666     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
667     char arg18[] = "-keystorePwd";
668     char arg19[] = "123456";
669     char arg20[] = "-outFile";
670     char arg21[] = "./generateKeyPair/general.cer";
671     char arg22[] = "-keyUsageCritical";
672     char arg23[] = "1";
673     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
674                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21, arg22, arg23 };
675     int argc = 24;
676 
677     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
678 
679     EXPECT_EQ(ret, false);
680 }
681 
682 /*
683  * @tc.name: processcmd_expansion_test_016
684  * @tc.desc: Check that the generate-cert module -signAlg parameter is valid.
685  * @tc.type: FUNC
686  * @tc.require:
687  */
688 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_016, testing::ext::TestSize.Level1)
689 {
690     char arg0[] = "";
691     char arg1[] = "generate-cert";
692     char arg2[] = "-keyAlias";
693     char arg3[] = "oh-profile1-key-v1";
694     char arg4[] = "-keyPwd";
695     char arg5[] = "123456";
696     char arg6[] = "-issuer";
697     char arg7[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=Application Signature Service CA";
698     char arg8[] = "-issuerKeyAlias";
699     char arg9[] = "oh-profile-sign-srv-ca-key-v1";
700     char arg10[] = "-subject";
701     char arg11[] = "C=CN,O=OpenHarmony,OU=OpenHarmony Community,CN=App1 Release";
702     char arg12[] = "-validity";
703     char arg13[] = "365";
704     char arg14[] = "-signAlg";
705     char arg15[] = "abcd";
706     char arg16[] = "-keystoreFile";
707     char arg17[] = "./generateKeyPair/OpenHarmony.p12";
708     char arg18[] = "-keystorePwd";
709     char arg19[] = "123456";
710     char arg20[] = "-outFile";
711     char arg21[] = "./generateKeyPair/general.cer";
712     char arg22[] = "-keyUsageCritical";
713     char arg23[] = "1";
714     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
715                      arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21, arg22, arg23 };
716     int argc = 24;
717 
718     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
719 
720     EXPECT_EQ(ret, false);
721 }
722 
723 /*
724  * @tc.name: processcmd_expansion_test_017
725  * @tc.desc: The sign-app module verifies that the -signAlg argument is valid.
726  * @tc.type: FUNC
727  * @tc.require:
728  */
729 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_017, testing::ext::TestSize.Level1)
730 {
731     char arg0[] = "";
732     char arg1[] = "sign-app";
733     char arg2[] = "-signAlg";
734     char arg3[] = "SHA384withECDSA";
735     char* argv[] = { arg0, arg1, arg2, arg3 };
736     int argc = 4;
737 
738     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
739 
740     EXPECT_EQ(ret, false);
741 }
742 
743 /*
744  * @tc.name: processcmd_expansion_test_018
745  * @tc.desc: The verify-app module verifies that the -signAlg argument is valid.
746  * @tc.type: FUNC
747  * @tc.require:
748  */
749 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_018, testing::ext::TestSize.Level1)
750 {
751     char arg0[] = "";
752     char arg1[] = "verify-app";
753     char arg2[] = "-signAlg";
754     char arg3[] = "SHA384withECDSA";
755     char* argv[] = { arg0, arg1, arg2, arg3 };
756     int argc = 4;
757 
758     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
759 
760     EXPECT_EQ(ret, false);
761 }
762 
763 /*
764  * @tc.name: processcmd_expansion_test_019
765  * @tc.desc: Remote signature requires parameter validation.
766  * @tc.type: FUNC
767  * @tc.require:
768  */
769 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_019, testing::ext::TestSize.Level1)
770 {
771     char arg0[] = "";
772     char arg1[] = "sign-profile";
773     char arg2[] = "-keyAlias";
774     char arg3[] = "oh-profile1-key-v1";
775     char arg4[] = "-keyPwd";
776     char arg5[] = "123456";
777     char arg6[] = "-mode";
778     char arg7[] = "remoteSign";
779     char arg8[] = "-signAlg";
780     char arg9[] = "SHA384withECDSA";
781     char arg10[] = "-inFile";
782     char arg11[] = "./generateKeyPair/profile.json";
783     char arg12[] = "-keystoreFile";
784     char arg13[] = "./generateKeyPair/OpenHarmony.p12";
785     char arg14[] = "-keystorePwd";
786     char arg15[] = "123456";
787     char arg16[] = "-outFile";
788     char arg17[] = "./generateKeyPair/signed-profile.p7b";
789     char arg18[] = "-profileCertFile";
790     char arg19[] = "./generateKeyPair/signed-profile.p7b";
791     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
792                      arg13, arg14, arg15, arg16, arg17, arg18, arg19 };
793     int argc = 20;
794 
795     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
796 
797     EXPECT_EQ(ret, false);
798 }
799 
800 /*
801  * @tc.name: processcmd_expansion_test_020
802  * @tc.desc: sign-profile module parameter validation.
803  * @tc.type: FUNC
804  * @tc.require:
805  */
806 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_020, testing::ext::TestSize.Level1)
807 {
808     char arg0[] = "";
809     char arg1[] = "sign-profile";
810     char arg2[] = "-keyAlias";
811     char arg3[] = "oh-profile1-key-v1";
812     char arg4[] = "-keyPwd";
813     char arg5[] = "123456";
814     char arg8[] = "-signAlg";
815     char arg9[] = "SHA384withECDSA";
816     char arg10[] = "-inFile";
817     char arg11[] = "./generateKeyPair/profile.json";
818     char arg12[] = "-keystoreFile";
819     char arg13[] = "./generateKeyPair/OpenHarmony.p12";
820     char arg14[] = "-keystorePwd";
821     char arg15[] = "123456";
822     char arg16[] = "-outFile";
823     char arg17[] = "./generateKeyPair/signed-profile.p7b";
824     char arg18[] = "-profileCertFile";
825     char arg19[] = "./generateKeyPair/signed-profile.p7b";
826     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg8, arg9, arg10, arg11, arg12,
827                      arg13, arg14, arg15, arg16, arg17, arg18, arg19 };
828     int argc = 18;
829 
830     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
831 
832     EXPECT_EQ(ret, false);
833 }
834 
835 /*
836  * @tc.name: processcmd_expansion_test_021
837  * @tc.desc: sign-profile module parameter validation.
838  * @tc.type: FUNC
839  * @tc.require:
840  */
841 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_021, testing::ext::TestSize.Level1)
842 {
843     char arg0[] = "";
844     char arg1[] = "sign-profile";
845     char arg2[] = "-keyAlias";
846     char arg3[] = "oh-profile1-key-v1";
847     char arg4[] = "-keyPwd";
848     char arg5[] = "123456";
849     char arg6[] = "-mode";
850     char arg7[] = "localSign";
851     char arg8[] = "-signAlg";
852     char arg9[] = "SHA384withECDSA";
853     char arg10[] = "-inFile";
854     char arg11[] = "./generateKeyPair/profile.json";
855     char arg12[] = "-keystoreFile";
856     char arg13[] = "./generateKeyPair/OpenHarmony.p12";
857     char arg14[] = "-keystorePwd";
858     char arg15[] = "123k456";
859     char arg16[] = "-outFile";
860     char arg17[] = "./generateKeyPair/signed-profile.p7b";
861     char arg18[] = "-profileCertFile";
862     char arg19[] = "./generateKeyPair/signed-profile.p7b";
863     char* argv[] = { arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12,
864                      arg13, arg14, arg15, arg16, arg17, arg18, arg19 };
865     int argc = 20;
866 
867     bool ret = ParamsRunTool::ProcessCmd(argv, argc);
868 
869     EXPECT_EQ(ret, false);
870 }
871 
872 /*
873  * @tc.name: processcmd_expansion_test_022
874  * @tc.desc: sign-profile module signature algorithm verification.
875  * @tc.type: FUNC
876  * @tc.require:
877  */
878 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_022, testing::ext::TestSize.Level1)
879 {
880     std::unique_ptr<SignToolServiceImpl> api = std::make_unique<SignToolServiceImpl>();
881     std::shared_ptr<Options> params = std::make_shared<Options>();
882 
883     std::string mode = "localSign";
884     std::string inFile = "./generateKeyPair/profile.json";
885     std::string signAlg = "SHA385withECDSA";
886     std::string outFile = "./generateKeyPair/signed-profile.txt";
887     std::string keyAlias = "abc";
888     std::string keystoreFile = "./generateKeyPair/OpenHarmony.p12";
889     std::string profileCertFile = "./generateKeyPair/OpenHarmony.p12";
890 
891     (*params)["mode"] = mode;
892     (*params)["inFile"] = inFile;
893     (*params)["signAlg"] = signAlg;
894     (*params)["outFile"] = outFile;
895     (*params)["keyAlias"] = keyAlias;
896     (*params)["keystoreFile"] = keystoreFile;
897     (*params)["profileCertFile"] = profileCertFile;
898 
899     bool ret = ParamsRunTool::RunSignProfile(params.get(), *api);
900     EXPECT_EQ(ret, false);
901 }
902 
903 /*
904  * @tc.name: processcmd_expansion_test_023
905  * @tc.desc: The sign-profile module verifies that the output directory is valid.
906  * @tc.type: FUNC
907  * @tc.require:
908  */
909 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_023, testing::ext::TestSize.Level1)
910 {
911     std::unique_ptr<SignToolServiceImpl> api = std::make_unique<SignToolServiceImpl>();
912     std::shared_ptr<Options> params = std::make_shared<Options>();
913 
914     std::string mode = "localSign";
915     std::string inFile = "./generateKeyPair/profile.json";
916     std::string signAlg = "SHA384withECDSA";
917     std::string outFile = "./generateKeyPair/signed-profile.txt";
918     std::string keyAlias = "abc";
919     std::string keystoreFile = "./generateKeyPair/OpenHarmony.p12";
920     std::string profileCertFile = "./generateKeyPair/OpenHarmony.p12";
921 
922     (*params)["mode"] = mode;
923     (*params)["inFile"] = inFile;
924     (*params)["signAlg"] = signAlg;
925     (*params)["outFile"] = outFile;
926     (*params)["keyAlias"] = keyAlias;
927     (*params)["keystoreFile"] = keystoreFile;
928     (*params)["profileCertFile"] = profileCertFile;
929 
930     bool ret = ParamsRunTool::RunSignProfile(params.get(), *api);
931     EXPECT_EQ(ret, false);
932 }
933 
934 /*
935  * @tc.name: processcmd_expansion_test_024
936  * @tc.desc: The verify-profile module verifies that the output directory is valid.
937  * @tc.type: FUNC
938  * @tc.require:
939  */
940 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_024, testing::ext::TestSize.Level1)
941 {
942     std::unique_ptr<SignToolServiceImpl> api = std::make_unique<SignToolServiceImpl>();
943     std::shared_ptr<Options> params = std::make_shared<Options>();
944 
945     std::string inFile = "./generateKeyPair/signed-profile.p7b";
946     std::string outFile = "./generateKeyPair/abc/VerifyResult.json";
947 
948     (*params)["inFile"] = inFile;
949     (*params)["outFile"] = outFile;
950 
951     bool ret = ParamsRunTool::RunVerifyProfile(params.get(), *api);
952     EXPECT_EQ(ret, false);
953 }
954 
955 /*
956  * @tc.name: processcmd_expansion_test_025
957  * @tc.desc: The verify-app module checks if the inForm parameter is valid.
958  * @tc.type: FUNC
959  * @tc.require:
960  */
961 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_025, testing::ext::TestSize.Level1)
962 {
963     std::unique_ptr<SignToolServiceImpl> api = std::make_unique<SignToolServiceImpl>();
964     std::shared_ptr<Options> params = std::make_shared<Options>();
965 
966     std::string inFile = "./generateKeyPair/OpenHarmonyDamage.p12";
967     std::string outCertChain = "./generateKeyPair/app-sign-srv-ca1.cer";
968     std::string outProfile = "./generateKeyPair/signed-profile.p7b";
969     std::string inForm = "zip";
970 
971     (*params)["inFile"] = inFile;
972     (*params)["outCertChain"] = outCertChain;
973     (*params)["outProfile"] = outProfile;
974     (*params)["inForm"] = inForm;
975     bool ret = ParamsRunTool::RunVerifyApp(params.get(), *api);
976     EXPECT_EQ(ret, false);
977 }
978 
979 /*
980  * @tc.name: processcmd_expansion_test_026
981  * @tc.desc: The verify-app module checks if the outProfile parameter is valid.
982  * @tc.type: FUNC
983  * @tc.require:
984  */
985 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_026, testing::ext::TestSize.Level1)
986 {
987     std::unique_ptr<SignToolServiceImpl> api = std::make_unique<SignToolServiceImpl>();
988     std::shared_ptr<Options> params = std::make_shared<Options>();
989 
990     std::string inFile = "./generateKeyPair/OpenHarmonyDamage.p12";
991     std::string outCertChain = "./generateKeyPair/app-sign-srv-ca1.cer";
992     std::string outProfile = "./generateKeyPair/abc/signed-profile.p7b";
993     std::string inForm = "zip";
994 
995     (*params)["inFile"] = inFile;
996     (*params)["outCertChain"] = outCertChain;
997     (*params)["outProfile"] = outProfile;
998     (*params)["inForm"] = inForm;
999     bool ret = ParamsRunTool::RunVerifyApp(params.get(), *api);
1000     EXPECT_EQ(ret, false);
1001 }
1002 
1003 /*
1004  * @tc.name: processcmd_expansion_test_027
1005  * @tc.desc: The verify-app module checks that the inFile argument is valid.
1006  * @tc.type: FUNC
1007  * @tc.require:
1008  */
1009 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_027, testing::ext::TestSize.Level1)
1010 {
1011     std::unique_ptr<SignToolServiceImpl> api = std::make_unique<SignToolServiceImpl>();
1012     std::shared_ptr<Options> params = std::make_shared<Options>();
1013 
1014     std::string inFile = "./generateKeyPair/OpenHarmonyDamage.p12";
1015     std::string outCertChain = "./generateKeyPair/app-sign-srv-ca1.cer";
1016     std::string outProfile = "./generateKeyPair/signed-profile.p7b";
1017 
1018     (*params)["inFile"] = inFile;
1019     (*params)["outCertChain"] = outCertChain;
1020     (*params)["outProfile"] = outProfile;
1021     bool ret = ParamsRunTool::RunVerifyApp(params.get(), *api);
1022     EXPECT_EQ(ret, false);
1023 }
1024 
1025 /*
1026  * @tc.name: processcmd_expansion_test_028
1027  * @tc.desc: The verify-app module checks that the outCertChain argument is valid.
1028  * @tc.type: FUNC
1029  * @tc.require:
1030  */
1031 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_028, testing::ext::TestSize.Level1)
1032 {
1033     std::unique_ptr<SignToolServiceImpl> api = std::make_unique<SignToolServiceImpl>();
1034     std::shared_ptr<Options> params = std::make_shared<Options>();
1035 
1036     std::string inFile = "./generateKeyPair/OpenHarmonyDamage.p12";
1037     std::string outCertChain = "./generateKeyPair/OpenHarmonyDamage.p12";
1038     std::string outProfile = "./generateKeyPair/signed-profile.p7b";
1039     std::string inForm = "zip";
1040 
1041     (*params)["inFile"] = inFile;
1042     (*params)["outCertChain"] = outCertChain;
1043     (*params)["outProfile"] = outProfile;
1044     (*params)["inForm"] = inForm;
1045     bool ret = ParamsRunTool::RunVerifyApp(params.get(), *api);
1046     EXPECT_EQ(ret, false);
1047 }
1048 
1049 /*
1050  * @tc.name: processcmd_expansion_test_029
1051  * @tc.desc: The verify-app module checks that the outProfile argument is valid.
1052  * @tc.type: FUNC
1053  * @tc.require:
1054  */
1055 HWTEST_F(ProcessCmdExpansionTest, processcmd_expansion_test_029, testing::ext::TestSize.Level1)
1056 {
1057     std::unique_ptr<SignToolServiceImpl> api = std::make_unique<SignToolServiceImpl>();
1058     std::shared_ptr<Options> params = std::make_shared<Options>();
1059 
1060     std::string inFile = "./generateKeyPair/OpenHarmonyDamage.p12";
1061     std::string outCertChain = "./generateKeyPair/app-sign-srv-ca1.cer";
1062     std::string outProfile = "./generateKeyPair/signed-profile.txt";
1063     std::string inForm = "zip";
1064 
1065     (*params)["inFile"] = inFile;
1066     (*params)["outCertChain"] = outCertChain;
1067     (*params)["outProfile"] = outProfile;
1068     (*params)["inForm"] = inForm;
1069     bool ret = ParamsRunTool::RunVerifyApp(params.get(), *api);
1070     EXPECT_EQ(ret, false);
1071 }
1072 } // namespace SignatureTools
1073 } // namespace OHOS