os/security/securityanddataprivacytools/securitytools/certapp/test/tcertapp/tcertapp.cpp
Update contrib.
2 * Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
20 #include <tools/certapp-api.h>
21 #include "badconfigwriter.h"
22 #include "tcertapp_good.h"
23 #include "tcertapp_bad.h"
24 #include "goodconfigwriter.h"
30 #include <sys/timeb.h>
36 // Write a pass or fail result for a test case to the TMS log file
37 void writeTMSResult(ofstream &aLogFile, stringstream &aTestCaseType, int aTestCaseIndex, bool aResult, stringstream &aLogging);
39 //Funtions to generate Good/Valid config files for tcertapp
40 void GoodFileCaCertTests(const stringstream &aFilename, int aArray_value);
41 void GoodFileCertClientsTests(const stringstream &aFilename);
42 void GoodSwiCertTests(const stringstream &aFilename, int aArray_value);
44 //Functions to generate Good/Valid script files for emulator tests
45 void GenerateGoodCaCertsTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex);
46 void GenerateGoodCertClientTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex);
47 void GenerateGoodSwiCertTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex);
49 //Funtions to generate Bad/illegal config files for tcertapp
50 void BadFileCaCertTests(const stringstream &aFilename, int aArray_value, stringstream &aTestCaseType, int &aTestIndex);
51 void BadFileCertClientsTests(const stringstream &aFilename, int aIndex, stringstream &aTestCaseType, int &aTestIndex);
52 void BadSwiCertTests(const stringstream &aFilename, int aArray_value, stringstream &aTestCaseType, int &aTestIndex);
54 //Function call for RunCertApp api
55 void RunCertAppTool(int argc, char **argv, stringstream &aStringval, stringstream &testCaseType, int testCaseIndex);
56 void RunCertAppToolForStoreDump(int aArgc, char **aArgv, stringstream &aStringval, stringstream &testCaseType, int testCaseIndex);
57 void RunCertAppToolForBadParams(int aArgc, char **aArgv, stringstream &aStringval, stringstream &testCaseType, int testCaseIndex);
59 void TestsWithEmptyConfigFile();
60 void CreateFileToAugmentStore();
61 void TestsWithEncodedFileFormats();
62 void TestToDecodeAndEncodeStore();
63 void TestToReviewingAggregateStore();
64 void TestBadConfigFiles(const stringstream &aFilename, bool aBool, stringstream &aTestCaseType, int aTestCaseIndex);
65 void CertClientBadParamsFuncCall(stringstream &aFileName, stringstream &aTestCaseType, int aTestCaseIndex);
66 void decodeEncodeCertAppCall(const char *aArray[]);
67 int CompareFiles(stringstream &aFileName1, stringstream &aFileName2);
68 int Compare(istream &aIstream1, istream &aIstream2);
69 void TestWithUnicodFileName();
71 ofstream file; //global file handle to write to output file
72 const char *progress = "progress.txt"; // logs the progress report
73 const char *errors = "error.txt"; // logs the error report
76 const int KFileArrayIndex = 8;
77 const int KSwicertIndex = 10;
78 const int KSwiBadcertIndex = 11;
79 const int KFileBadcertIndex = 9;
80 const int KAppUidIndex = 4;
83 // to get the count of passed and failed test cases
84 static int failCount = 0, passCount = 0;
86 //pointers required for creation of good filecerts config files
87 const char **filecert_array[KFileArrayIndex]=
99 //pointers required for creation of bad filecerts config files
100 const char **badfilecert_array[KFileBadcertIndex]=
114 //pointers required for creation of good swicerts config files
115 const char **swicert_array[KSwicertIndex]=
129 //pointers required for creation of bad swicerts config files
130 const char **badswicert_array[KSwiBadcertIndex]=
146 //encoded file names for input to the tool
147 const char *fileEncodeType[4]=
149 "--hfilecertstore=utf8.txt",
150 "--hfilecertstore=utf8_without_bom.txt",
151 "--hfilecertstore=ucs2-bigendian.txt",
152 "--hfilecertstore=ucs2-littleendian.txt"
155 // Write a pass or fail result for a test case to the TMS log file
156 void writeTMSResult(ofstream &aLogFile, stringstream &aTestCaseType, int aTestCaseIndex, bool aResult, stringstream &aLogging)
158 // get the current time
160 struct tm * timeinfo;
161 char standardTimeBuffer[10];
163 timeinfo = localtime(&rawtime);
164 strftime(standardTimeBuffer, 10, "%H:%M:%S", timeinfo);
166 char millisecondTimeBuffer[6];
168 #ifdef __TOOLS2_LINUX__
169 struct timeb tstruct;
172 struct _timeb tstruct;
176 sprintf(millisecondTimeBuffer, ":%03u ", tstruct.millitm);
178 stringstream timeBuffer;
179 timeBuffer << standardTimeBuffer << millisecondTimeBuffer;
182 stringstream resultBuffer;
186 resultBuffer << "PASS";
190 resultBuffer << "FAIL";
193 // set test case ID string
194 char testCaseIndexBuffer[6];
195 sprintf(testCaseIndexBuffer, "-%04d", aTestCaseIndex);
197 // write result in the correct format
198 aLogFile << "<html><body><pre>\r\n";
199 aLogFile << timeBuffer.str();
200 aLogFile << "START_TESTCASE ";
201 aLogFile << aTestCaseType.str() << testCaseIndexBuffer;
203 aLogFile << timeBuffer.str();
204 aLogFile << "Line = 1 Command = START_TESTCASE ";
205 aLogFile << aTestCaseType.str() << testCaseIndexBuffer;
208 if (aLogging.str() != "")
210 aLogFile << timeBuffer.str();
211 aLogFile << aLogging.str();
215 aLogFile << timeBuffer.str();
216 aLogFile << "END_TESTCASE ";
217 aLogFile << aTestCaseType.str() << testCaseIndexBuffer;
219 aLogFile << timeBuffer.str();
220 aLogFile << "Line = 1 Command = END_TESTCASE ";
221 aLogFile << aTestCaseType.str() << testCaseIndexBuffer;
222 aLogFile << " ***TestCaseResult = ";
223 aLogFile << resultBuffer.str();
224 aLogFile << "\r\n</pre></body></html>\r\n";
227 //RunCertApp call to create store from text input
228 void RunCertAppTool( int argc, char **argv, stringstream &stringval, stringstream &testCaseType, int testCaseIndex)
230 for(int i =0; i<argc; i++)
232 cout << "Arguments Being passed to the RunCertApp tool is " << argv[i] << endl;
234 int ret = RunCertApp(progress, errors, argc, argv);
235 cout << "Return Value from CertApp Tool is " << ret << endl;
236 stringstream logging;
240 logging << "Error in creating store for " << stringval.str() << " and result is " << ret << " Fail" ;
245 logging << "No Error in creating store for " << stringval.str() << " and result is " << ret << " Pass" ;
248 writeTMSResult(file, testCaseType, testCaseIndex, ret==0, logging);
251 //RunCertApp call to dump the store to human readable format
252 void RunCertAppToolForStoreDump(int argc, char **argv, stringstream &stringval, stringstream &testCaseType, int testCaseIndex)
254 int ret = RunCertApp(progress, errors, argc, argv);
255 cout << "Return Value from CertApp Tool is " << ret << endl;
256 stringstream logging;
260 logging << "Error in Dumping the store file for " << stringval.str() << " and result is " << ret << " Fail";
265 logging << "No Error in Dumping store for " << stringval.str() << " and result is " << ret << " Pass";
268 writeTMSResult(file, testCaseType, testCaseIndex, ret==0, logging);
271 //RunCertApp call to create store for bad params
272 void RunCertAppToolForBadParams(int argc, char **argv, stringstream &stringval, stringstream &testCaseType, int testCaseIndex)
274 int ret = RunCertApp(progress, errors, argc, argv);
275 stringstream logging;
279 cout << "We have passsed bad paramerters! Expected Return value is -1 And the RunCertApp has returned " << ret << " as Expected"<< endl;
280 logging << "Bad Params! So Cannot create the store for " << stringval.str() << " and result is " << ret << " Pass";
285 logging << "We are using bad parameters! So the tools should fail to create store! " << stringval.str() << " and result is " << ret << " Fail";
286 cout << "We have passsed bad paramerters! The Tool has failed- It should return -1, But returned" << ret << endl;
289 writeTMSResult(file, testCaseType, testCaseIndex, ret==0, logging);
294 main entry to the program
296 int main(int /*argc*/, char ** /*argv*/)
298 stringstream testCaseType;
299 int testCaseIndex = 0;
301 dbg.SetStream(&std::cout);
302 prog.SetStream(&std::cout);
303 std::cout << std::dec;
308 // File to log the result of all tests
311 file.open("tCertapp_Output.htm", ios_base::trunc | ios_base::out);
314 //create a file to augment the content to existing store
315 CreateFileToAugmentStore();
318 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCDAT_CREATE-0000
319 @SYMTestCaseDesc Create store
322 //create certclient config files
323 //Format used for the files name is SDP-Security_Tools-CertApp-XXX-000X to match with the TMS test case id
324 stringstream certclientfileName;
325 certclientfileName << "SDP-Security_Tools-CertApp-CCDAT_000"<<num_tests<<".txt";
326 GoodFileCertClientsTests(certclientfileName);
328 //create command line argument for creation of certclientx.dat through certapp tool
329 stringstream strArg1, strArg2, augFileName;
330 strArg1 <<"--hcertclients=" << certclientfileName.str();
331 cout << "test" << strArg1.str().c_str() <<endl;
333 strArg2<< "--bcertclients=SDP-Security_Tools-CertApp-CCDAT_000" <<num_tests <<".dat";
334 cout <<"string value is " << strArg2.str().c_str() << endl;
336 string argument1, argument2;
337 const char *argv_certclient[4];
339 argument1 = strArg1.str().c_str();
340 argv_certclient[0] = argument1.c_str();
342 argv_certclient[1] = "--out";
343 argument2 = strArg2.str().c_str();
344 argv_certclient[2] = argument2.c_str();
346 char **argv, **argv1;
347 char *argument_ptr[3]; //[Format:: certapp --hcertclients=t_certclients_0.txt --out --bcertclients=certclients5.dat]
349 for(int n1 = 0; n1<argCount3; n1++)
351 argument_ptr[n1] = const_cast<char*>(argv_certclient[n1]);
355 testCaseType.str("SEC-TOOLS-CERTAPP-CCDAT_CREATE");
356 RunCertAppTool(argCount3, argv, certclientfileName, testCaseType, 0); // creating dat file
359 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCAUG_AUGMENT-0000
360 @SYMTestCaseDesc Augment the Store with Extra entries
363 //Augment the Store with Extra entries
364 augFileName<<"SDP-Security_Tools-CertApp-CCAUG_0000.dat";
365 argv_certclient[0] = "--hcertclients=tCertClient_Augment.txt";
366 argv_certclient[1] = argv_certclient[2];
367 argv_certclient[2] = "--out";
368 argv_certclient[3] = "--bcertclients=SDP-Security_Tools-CertApp-CCAUG_0000.dat";
369 for(int x = 0; x<argCount4; x++)
371 argument_ptr[x] = const_cast<char*>(argv_certclient[x]);
372 argv1 = argument_ptr;
375 testCaseType.str("SEC-TOOLS-CERTAPP-CCAUG_AUGMENT");
376 RunCertAppTool(argCount4, argv1, augFileName, testCaseType, 0);
379 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCDAT_DUMP-0000
380 @SYMTestCaseDesc Dump the dat file to human readable text format
383 //Dump the dat file to human readable text format
384 argv_certclient[0] = argv_certclient[3];
385 argv_certclient[1] = "--out";
386 argv_certclient[2] = "--hcertclients=SDP-Security_Tools-CertApp-CCDUMP_0000.txt";
388 for(int k = 0; k<argCount3; k++)
390 argument_ptr[k] = const_cast<char*>(argv_certclient[k]);
391 argv1 = argument_ptr;
394 testCaseType.str("SEC-TOOLS-CERTAPP-CCDAT_DUMP");
395 RunCertAppToolForStoreDump(argCount3, argv1, certclientfileName, testCaseType, 0);
396 //End of t_certclients
398 //Creates good config files to augment store and dump store to text format for file certstore - cacerts.dat
399 //Test for all positive cases
400 for(num_tests = 0; num_tests<=KFileArrayIndex; num_tests++)
402 stringstream caCertFileName;
403 caCertFileName << "SDP-Security_Tools-CertApp-FILEDAT_000"<<num_tests<<".txt";
404 GoodFileCaCertTests(caCertFileName,num_tests);
407 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0000
408 @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
411 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0001
412 @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
415 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0002
416 @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
419 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0003
420 @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
423 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0004
424 @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
427 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0005
428 @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
431 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0006
432 @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
435 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0007
436 @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
439 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0008
440 @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
443 // CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
444 //ex:certapp --hcertclients=t_certclients_0.txt --hfilecertstore=t_cacerts_0.txt --out --bfilecertstore=cacerts_x.dat
445 stringstream strArg1, strArg2, strArg3, strArg4, strArg5;
446 strArg1 <<"--hfilecertstore=SDP-Security_Tools-CertApp-FILEDAT_000" <<num_tests << ".txt" ;
448 strArg2<< "--bfilecertstore=SDP-Security_Tools-CertApp-FILEDAT_000"<<num_tests <<".dat";
449 cout <<"string value is " << strArg2.str().c_str() << endl;
451 strArg3<< "--hcertclients=SDP-Security_Tools-CertApp-CCDAT_0000.txt";
452 cout <<"string value is " << strArg3.str().c_str() << endl;
454 string argument1, argument2, argument3, argument4, argument5;
455 const char *argv_certclient[4];
457 argument1 = strArg1.str().c_str();
458 argument3 = strArg3.str().c_str();
460 argv_certclient[0] = argument3.c_str(); // --hcertclients=t_certclients_0.txt
461 argv_certclient[1] = argument1.c_str(); // --hfilecertstore=t_cacerts_x.txt
462 argv_certclient[2] = "--out"; //--out
463 argument2 = strArg2.str().c_str();
464 argv_certclient[3] = argument2.c_str(); //--bfilecertstore=cacerts_x.dat
466 char *argument_ptr[4];
467 char **argv, **argv1, **argv2 ;
468 for(int n = 0; n<argCount4; n++)
470 argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
474 testCaseType.str("SEC-TOOLS-CERTAPP-FILEDAT_CREATE");
475 RunCertAppTool(argCount4, argv, caCertFileName, testCaseType, num_tests);
478 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0000
479 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
482 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0001
483 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
486 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0002
487 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
490 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0003
491 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
494 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0004
495 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
498 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0005
499 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
502 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0006
503 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
506 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0007
507 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
510 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0008
511 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
514 //AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
515 //ex:certapp --hfilecertstore=tAugment_cacerts_x.txt --bfilecertstore=cacerts.dat --out --bfilecertstore=new_extra_filecertstore.dat
516 stringstream augFileName, textDumpFileName;
517 augFileName<<"SDP-Security_Tools-CertApp-FILEAUG_000" <<num_tests << ".dat";
518 strArg4<<"--bfilecertstore=SDP-Security_Tools-CertApp-FILEAUG_000" << num_tests << ".dat";
519 argument4 = strArg4.str();
520 argv_certclient[0] = "--hfilecertstore=tfile_Augment.txt"; //--hfilecertstore=tAugment_cacerts_x.txt
521 argv_certclient[1] = argv_certclient[3]; //--bfilecertstore=cacerts_x.dat
522 argv_certclient[2] = "--out"; //--out
523 argv_certclient[3] = argument4.c_str(); //--bfilecertstore=aug_cacerts_x.dat
525 for(int x = 0; x<argCount4; x++)
527 argument_ptr[x] = const_cast<char*>(argv_certclient[x]);
528 argv1 = argument_ptr;
531 testCaseType.str("SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT");
532 RunCertAppTool(argCount4, argv1, augFileName, testCaseType, num_tests);
535 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0000
536 @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
539 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0001
540 @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
543 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0002
544 @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
547 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0003
548 @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
551 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0004
552 @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
555 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0005
556 @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
559 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0006
560 @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
563 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0007
564 @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
567 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0008
568 @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
571 //DUMP THE STORE TO HUMAN READABLE FORMAT
572 //ex:certapp --bfilecertstore=test.dat --out --hfilecertstore=t_cacerts.txt
573 textDumpFileName <<"SDP-Security_Tools-CertApp-FILEDUMP_000"<< num_tests << ".txt";
574 argv_certclient[0] = argv_certclient[3]; //--bfilecertstore=aug_cacerts_x.dat
575 argv_certclient[1] = "--out";
576 strArg5<< "--hfilecertstore=SDP-Security_Tools-CertApp-FILEDUMP_000" <<num_tests << ".txt";
577 argument5 = strArg5.str().c_str();
578 argv_certclient[2] = argument5.c_str();
580 for(int k = 0; k<argCount3; k++)
582 argument_ptr[k] = const_cast<char*>(argv_certclient[k]);
583 argv2 = argument_ptr;
585 //Dumps the augmented store
587 testCaseType.str("SEC-TOOLS-CERTAPP-FILEDUMP_DUMP");
588 RunCertAppToolForStoreDump(argCount3, argv2, textDumpFileName, testCaseType, num_tests);
592 //create config files with legal values for swi certstore
593 for(num_tests = 0; num_tests<KSwicertIndex; num_tests++)
595 stringstream swiCertStoreFileName;
596 swiCertStoreFileName << "SDP-Security_Tools-CertApp-SWIDAT_000"<<num_tests<<".txt";
597 GoodSwiCertTests(swiCertStoreFileName,num_tests);
600 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0000
601 @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
604 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0001
605 @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
608 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0002
609 @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
612 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0003
613 @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
616 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0004
617 @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
620 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0005
621 @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
624 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0006
625 @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
628 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0007
629 @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
632 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0008
633 @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
636 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0009
637 @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
640 //CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
641 //Ex: certapp --hcertclients=t_certclients_0.txt --hswicertstore=t_swicertstore_0.txt --out --bswicertstore=swicertstore_x.dat
642 stringstream strArg1, strArg2, strArg3, strArg4, strArg5;
643 strArg1 <<"--hswicertstore=SDP-Security_Tools-CertApp-SWIDAT_000" <<num_tests << ".txt" ; //--hswicertstore=t_cacerts_x.txt
645 strArg2<< "--bswicertstore=SDP-Security_Tools-CertApp-SWIDAT_000" <<num_tests <<".dat"; //--bswicertstore=swicertstore.dat
646 cout <<"string value is " << strArg2.str().c_str() << endl;
648 strArg3<< "--hcertclients=SDP-Security_Tools-CertApp-CCDAT_0000.txt";
649 cout <<"string value is " << strArg3.str().c_str() << endl;
651 string argument1, argument2, argument3, argument4, argument5;
652 const char *argv_certclient[4];
654 argument1 = strArg1.str().c_str();
655 argument3 = strArg3.str().c_str();
657 argv_certclient[0] = argument3.c_str(); //--hcertclients=t_certclients_0.txt
658 argv_certclient[1] = argument1.c_str(); //--hswicertstore=t_swicertstore_
659 argv_certclient[2] = "--out";
660 argument2 = strArg2.str().c_str();
661 argv_certclient[3] = argument2.c_str(); //--bswicertstore=swicertstore_x.dat
663 char *argument_ptr[4];
665 for(int j=0; j<argCount4; j++)
667 cout << "Value in argv_certclient " << j << "is " <<argv_certclient[j] <<endl;
671 for(int n = 0; n<argCount4; n++)
673 argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
677 testCaseType.str("SEC-TOOLS-CERTAPP-SWIDAT_CREATE");
678 RunCertAppTool(argCount4, argv,swiCertStoreFileName, testCaseType, num_tests);
681 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0000
682 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
685 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0001
686 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
689 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0002
690 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
693 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0003
694 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
697 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0004
698 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
701 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0005
702 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
705 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0006
706 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
709 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0007
710 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
713 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0008
714 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
717 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0009
718 @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
721 //AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
722 //certapp --hswicertstore=tAugment_swicertstore_x.txt --bswicertstore=swicertstore_x.dat --out --bswicertstore=aug_swicertstore_x.dat
723 stringstream augFileName, textDumpFileName;
724 augFileName << "SDP-Security_Tools-CertApp-SWIAUG_000" << num_tests <<".dat";
725 strArg4<<"--bswicertstore=SDP-Security_Tools-CertApp-SWIAUG_000" << num_tests << ".dat";
726 argument4 = strArg4.str();
727 argv_certclient[0] = "--hswicertstore=tswi_Augment.txt"; //--hswicertstore=tAugment_swicertstore_x.txt
728 argv_certclient[1] = argv_certclient[3]; //--bswicertstore=swicertstore_x.dat
729 argv_certclient[2] = "--out";
730 argv_certclient[3] = argument4.c_str(); //--bswicertstore=aug_swicertstore_x.dat
732 for(int x = 0; x<argCount4; x++)
734 argument_ptr[x] = const_cast<char*>(argv_certclient[x]);
735 argv1 = argument_ptr;
738 testCaseType.str("SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT");
739 RunCertAppTool(argCount4, argv1, augFileName, testCaseType, num_tests);
742 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0000
743 @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
746 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0001
747 @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
750 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0002
751 @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
754 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0003
755 @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
758 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0004
759 @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
762 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0005
763 @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
766 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0006
767 @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
770 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0007
771 @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
774 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0008
775 @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
778 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0009
779 @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
782 //DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
783 textDumpFileName << "SDP-Security_Tools-CertApp-SWIDUMP_000" <<num_tests << ".txt";
784 argv_certclient[0] = argv_certclient[3];
785 argv_certclient[1] = "--out";
786 strArg5<< "--hswicertstore=SDP-Security_Tools-CertApp-SWIDUMP_000" <<num_tests << ".txt";
787 argument5= strArg5.str().c_str();
788 argv_certclient[2] = argument5.c_str();
791 for(int k = 0; k<argCount3; k++)
793 argument_ptr[k] = const_cast<char*>(argv_certclient[k]);
794 argv2 = argument_ptr;
797 testCaseType.str("SEC-TOOLS-CERTAPP-SWIDUMP_DUMP");
798 RunCertAppToolForStoreDump(argCount3, argv2, textDumpFileName, testCaseType, num_tests);
801 //Test with unicode filename
802 TestWithUnicodFileName();
804 //create empty config file
805 TestsWithEmptyConfigFile();
807 //Test case to test for different file formats
808 TestsWithEncodedFileFormats();
810 //Test case for REQ10313 to check decode/encode of stores
811 TestToDecodeAndEncodeStore();
813 //Test case for REQ10314 - reviewing aggregate certificate database
814 TestToReviewingAggregateStore();
816 //Test cases for BAD Params
818 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0000
819 @SYMTestCaseDesc Create bad certclient config files
822 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0001
823 @SYMTestCaseDesc Create bad certclient config files
826 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATEE-0002
827 @SYMTestCaseDesc Create bad certclient config files
830 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0003
831 @SYMTestCaseDesc Create bad certclient config files
834 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0004
835 @SYMTestCaseDesc Create bad certclient config files
838 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0005
839 @SYMTestCaseDesc Create bad certclient config files
842 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0006
843 @SYMTestCaseDesc Create bad certclient config files
846 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0007
847 @SYMTestCaseDesc Create bad certclient config files
850 @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0008
851 @SYMTestCaseDesc Create bad certclient config files
853 //create certclient config files
854 testCaseType.str("SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE");
856 for(num_tests =0; num_tests<3; num_tests++)
858 stringstream badCertClientsFileName;
859 badCertClientsFileName << "SDP-Security_Tools-CertApp-CCBadParams-000"<<num_tests;
860 BadFileCertClientsTests(badCertClientsFileName,num_tests,testCaseType,testCaseIndex);
861 } //End of bad params for cerclients
864 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0000
865 @SYMTestCaseDesc Create bad config files for file certstore
868 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0001
869 @SYMTestCaseDesc Create bad config files for file certstore
872 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0002
873 @SYMTestCaseDesc Create bad config files for file certstore
876 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0003
877 @SYMTestCaseDesc Create bad config files for file certstore
880 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0004
881 @SYMTestCaseDesc Create bad config files for file certstore
884 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0005
885 @SYMTestCaseDesc Create bad config files for file certstore
888 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0006
889 @SYMTestCaseDesc Create bad config files for file certstore
892 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0007
893 @SYMTestCaseDesc Create bad config files for file certstore
896 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0008
897 @SYMTestCaseDesc Create bad config files for file certstore
900 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0009
901 @SYMTestCaseDesc Create bad config files for file certstore
904 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0010
905 @SYMTestCaseDesc Create bad config files for file certstore
908 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0011
909 @SYMTestCaseDesc Create bad config files for file certstore
912 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0012
913 @SYMTestCaseDesc Create bad config files for file certstore
916 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0013
917 @SYMTestCaseDesc Create bad config files for file certstore
920 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0014
921 @SYMTestCaseDesc Create bad config files for file certstore
924 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0015
925 @SYMTestCaseDesc Create bad config files for file certstore
928 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0016
929 @SYMTestCaseDesc Create bad config files for file certstore
932 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0017
933 @SYMTestCaseDesc Create bad config files for file certstore
936 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0018
937 @SYMTestCaseDesc Create bad config files for file certstore
940 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0019
941 @SYMTestCaseDesc Create bad config files for file certstore
944 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0020
945 @SYMTestCaseDesc Create bad config files for file certstore
948 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0021
949 @SYMTestCaseDesc Create bad config files for file certstore
952 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0022
953 @SYMTestCaseDesc Create bad config files for file certstore
956 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0023
957 @SYMTestCaseDesc Create bad config files for file certstore
960 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0024
961 @SYMTestCaseDesc Create bad config files for file certstore
964 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0025
965 @SYMTestCaseDesc Create bad config files for file certstore
968 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0026
969 @SYMTestCaseDesc Create bad config files for file certstore
971 //create bad config files for file certstore - cacerts.dat
972 testCaseType.str("SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE");
974 for(num_tests = 0; num_tests<KFileArrayIndex+1; num_tests++)
976 stringstream badCaCertsFileName;
977 badCaCertsFileName << "SDP-Security_Tools-CertApp-FileBadParams-000"<<num_tests;
978 BadFileCaCertTests(badCaCertsFileName,num_tests,testCaseType,testCaseIndex);
982 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0000
983 @SYMTestCaseDesc Create config files with invalid values swi certstore
986 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0001
987 @SYMTestCaseDesc Create config files with invalid values swi certstore
990 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0002
991 @SYMTestCaseDesc Create config files with invalid values swi certstore
994 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0003
995 @SYMTestCaseDesc Create config files with invalid values swi certstore
998 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0004
999 @SYMTestCaseDesc Create config files with invalid values swi certstore
1002 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0005
1003 @SYMTestCaseDesc Create config files with invalid values swi certstore
1006 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0006
1007 @SYMTestCaseDesc Create config files with invalid values swi certstore
1010 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0007
1011 @SYMTestCaseDesc Create config files with invalid values swi certstore
1014 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0008
1015 @SYMTestCaseDesc Create config files with invalid values swi certstore
1018 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0009
1019 @SYMTestCaseDesc Create config files with invalid values swi certstore
1022 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0010
1023 @SYMTestCaseDesc Create config files with invalid values swi certstore
1026 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0011
1027 @SYMTestCaseDesc Create config files with invalid values swi certstore
1030 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0012
1031 @SYMTestCaseDesc Create config files with invalid values swi certstore
1034 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0013
1035 @SYMTestCaseDesc Create config files with invalid values swi certstore
1038 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0014
1039 @SYMTestCaseDesc Create config files with invalid values swi certstore
1042 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0015
1043 @SYMTestCaseDesc Create config files with invalid values swi certstore
1046 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0016
1047 @SYMTestCaseDesc Create config files with invalid values swi certstore
1050 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0017
1051 @SYMTestCaseDesc Create config files with invalid values swi certstore
1054 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0018
1055 @SYMTestCaseDesc Create config files with invalid values swi certstore
1058 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0019
1059 @SYMTestCaseDesc Create config files with invalid values swi certstore
1062 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0020
1063 @SYMTestCaseDesc Create config files with invalid values swi certstore
1066 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0021
1067 @SYMTestCaseDesc Create config files with invalid values swi certstore
1070 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0022
1071 @SYMTestCaseDesc Create config files with invalid values swi certstore
1074 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0023
1075 @SYMTestCaseDesc Create config files with invalid values swi certstore
1078 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0024
1079 @SYMTestCaseDesc Create config files with invalid values swi certstore
1082 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0025
1083 @SYMTestCaseDesc Create config files with invalid values swi certstore
1086 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0026
1087 @SYMTestCaseDesc Create config files with invalid values swi certstore
1090 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0027
1091 @SYMTestCaseDesc Create config files with invalid values swi certstore
1094 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0028
1095 @SYMTestCaseDesc Create config files with invalid values swi certstore
1098 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0029
1099 @SYMTestCaseDesc Create config files with invalid values swi certstore
1102 @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0030
1103 @SYMTestCaseDesc Create config files with invalid values swi certstore
1105 //create config files with invalid values swi certstore
1106 testCaseType.str("SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE");
1108 for(num_tests = 0; num_tests<KSwiBadcertIndex; num_tests++)
1110 stringstream badSwiCertsFileName;
1111 badSwiCertsFileName << "SDP-Security_Tools-CertApp-SwiBadParams-000"<<num_tests;
1112 BadSwiCertTests(badSwiCertsFileName,num_tests,testCaseType,testCaseIndex);
1116 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0001
1117 @SYMTestCaseDesc Initializing a CUnifiedCertStore
1120 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0002
1121 @SYMTestCaseDesc Get the list of certificates
1124 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0003
1125 @SYMTestCaseDesc Get certificate details
1128 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0004
1129 @SYMTestCaseDesc Get Trust certificate
1132 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0005
1133 @SYMTestCaseDesc Get applications
1136 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0006
1137 @SYMTestCaseDesc Retrieve Certificate
1140 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0007
1141 @SYMTestCaseDesc Get certificate details
1144 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0008
1145 @SYMTestCaseDesc Get Trust certificate
1148 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0009
1149 @SYMTestCaseDesc Get applications
1152 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0010
1153 @SYMTestCaseDesc Retrieve Certificate
1156 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0011
1157 @SYMTestCaseDesc Get certificate details
1160 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0012
1161 @SYMTestCaseDesc Get Trust certificate
1164 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0013
1165 @SYMTestCaseDesc Get applications
1168 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0014
1169 @SYMTestCaseDesc Retrieve Certificate
1172 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0015
1173 @SYMTestCaseDesc Get certificate details
1176 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0016
1177 @SYMTestCaseDesc Get Trust certificate
1180 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0017
1181 @SYMTestCaseDesc Get applications
1184 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0018
1185 @SYMTestCaseDesc Retrieve Certificate
1188 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0019
1189 @SYMTestCaseDesc Get certificate details
1192 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0020
1193 @SYMTestCaseDesc Get Trust certificate
1196 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0021
1197 @SYMTestCaseDesc Get applications
1200 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0022
1201 @SYMTestCaseDesc Retrieve Certificate
1204 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0023
1205 @SYMTestCaseDesc Get certificate details
1208 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0024
1209 @SYMTestCaseDesc Get Trust certificate
1212 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0025
1213 @SYMTestCaseDesc Get applications
1216 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0026
1217 @SYMTestCaseDesc Retrieve Certificate
1219 //Code to create Script files for the file/sw/certclients to run validation tests on emulator
1220 //create script file for the symbian test harness- for cacerts.dat
1221 testCaseType.str("SEC-TOOLS-CERTAPP-GOODCACERT");
1223 for(num_tests = 0; num_tests<1; num_tests++)
1225 stringstream emu_CacertsFileName;
1226 emu_CacertsFileName << "SDP-Security_Tools-CertApp-FILEDAT-EMU0"<<num_tests<<".script";
1227 GenerateGoodCaCertsTestScripts(emu_CacertsFileName,testCaseType,testCaseIndex);
1231 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0001
1232 @SYMTestCaseDesc Initialise a CertClientStore
1235 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0002
1236 @SYMTestCaseDesc Get Count of Applications
1239 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0003
1240 @SYMTestCaseDesc Getting the application list
1243 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0004
1244 @SYMTestCaseDesc Get application with given id
1247 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0005
1248 @SYMTestCaseDesc Get application with given id
1251 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0006
1252 @SYMTestCaseDesc Get application with given id
1255 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0007
1256 @SYMTestCaseDesc Get application with given id
1259 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0008
1260 @SYMTestCaseDesc Destroy the manager
1262 //create script file for certclients.dat
1263 testCaseType.str("SEC-TOOLS-CERTAPP-GOODCERT");
1265 for(num_tests = 0; num_tests<1; num_tests++)
1267 stringstream emu_CertClientsFileName;
1268 emu_CertClientsFileName << "SDP-Security_Tools-CertApp-CCDAT-EMU0"<<num_tests<<".script";
1269 GenerateGoodCertClientTestScripts(emu_CertClientsFileName,testCaseType,testCaseIndex);
1273 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0001
1274 @SYMTestCaseDesc Initialise a SWICertStore
1277 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0002
1278 @SYMTestCaseDesc Get the list of certificates
1281 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0003
1282 @SYMTestCaseDesc Get the systemupgrade flag
1285 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0004
1286 @SYMTestCaseDesc Retrieve Certificate
1289 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0005
1290 @SYMTestCaseDesc Get applications
1293 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0006
1294 @SYMTestCaseDesc Get Trust certificate
1297 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0007
1298 @SYMTestCaseDesc Get the capabilities
1301 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0008
1302 @SYMTestCaseDesc Get the mandatory flag
1305 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0009
1306 @SYMTestCaseDesc Get the systemupgrade flag
1309 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0010
1310 @SYMTestCaseDesc Retrieve Certificate
1313 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0011
1314 @SYMTestCaseDesc Get applications
1317 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0012
1318 @SYMTestCaseDesc Get Trust certificate
1321 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0013
1322 @SYMTestCaseDesc Get the capabilities
1325 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0014
1326 @SYMTestCaseDesc Get the mandatory flag
1329 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0015
1330 @SYMTestCaseDesc Get the systemupgrade flag
1333 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0016
1334 @SYMTestCaseDesc Retrieve Certificate
1337 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0017
1338 @SYMTestCaseDesc Get applications
1341 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0018
1342 @SYMTestCaseDesc Get Trust certificate
1345 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0019
1346 @SYMTestCaseDesc Get the capabilities
1349 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0020
1350 @SYMTestCaseDesc Get the mandatory flag
1353 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0021
1354 @SYMTestCaseDesc Get the systemupgrade flag
1357 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0022
1358 @SYMTestCaseDesc Retrieve Certificate
1361 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0023
1362 @SYMTestCaseDesc Get applications
1365 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0024
1366 @SYMTestCaseDesc Get Trust certificate
1369 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0025
1370 @SYMTestCaseDesc Get the capabilities
1373 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0026
1374 @SYMTestCaseDesc Get the mandatory flag
1377 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0027
1378 @SYMTestCaseDesc Get the systemupgrade flag
1381 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0028
1382 @SYMTestCaseDesc Retrieve Certificate
1385 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0029
1386 @SYMTestCaseDesc Get applications
1389 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0030
1390 @SYMTestCaseDesc Get Trust certificate
1393 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0031
1394 @SYMTestCaseDesc Get the capabilities
1397 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0032
1398 @SYMTestCaseDesc Get the mandatory flag
1401 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0033
1402 @SYMTestCaseDesc Get the systemupgrade flag
1405 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0034
1406 @SYMTestCaseDesc Retrieve Certificate
1409 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0035
1410 @SYMTestCaseDesc Get applications
1413 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0036
1414 @SYMTestCaseDesc Get Trust certificate
1417 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0037
1418 @SYMTestCaseDesc Get the capabilities
1421 @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0038
1422 @SYMTestCaseDesc Get the mandatory flag
1424 //create script file for the symbian test harness- for swicerts.dat
1425 testCaseType.str("SEC-TOOLS-CERTAPP-GOODSWICERT");
1427 for(num_tests = 0; num_tests<1; num_tests++)
1429 stringstream emu_SwiCertsFileName;
1430 emu_SwiCertsFileName << "SDP-Security_Tools-CertApp-SWIDAT-EMU0"<<num_tests<<".script";
1431 GenerateGoodSwiCertTestScripts(emu_SwiCertsFileName,testCaseType,testCaseIndex);
1434 int testCaseCount = failCount+passCount;
1435 cout << "\nTestrun result is :: " << failCount <<" tests failed out of " << testCaseCount <<endl;
1436 file << "\n\nTotal number of test cases run is -> " << testCaseCount << endl;
1437 file << failCount << " tests failed out of " << testCaseCount <<endl;
1445 Function to create input file for augmenting the existing store
1447 void CreateFileToAugmentStore()
1449 stringstream swifilename, cacertsfilename, certclientName;
1450 swifilename <<"tswi_Augment.txt";
1451 cacertsfilename<< "tfile_Augment.txt";
1452 certclientName << "tCertClient_Augment.txt";
1454 SwiCertStoreConfigWriter swiwriter(swifilename);
1455 swiwriter.WriteExtraSwiEntry();
1457 FileCertStoreConfigWriter filewriter(cacertsfilename);
1458 filewriter.WriteExtraFileEntry();
1460 FileCertClientConfigWriter certclientwriter(certclientName);
1461 certclientwriter.WriteExtraCertClientEntry();
1466 @SYMTestCaseID SEC-TOOLS-CERTAPP-UNICODEFILE_CREATE-0000
1467 @SYMTestCaseDesc Check the certapp tool for unicode named config file
1470 Test case to check the certapp tool for unicode named config file
1471 Testing with only one unicode named config file for now
1473 void TestWithUnicodFileName()
1475 //unicode file name in utf8 format
1476 const char *filename= "\xe4\xb8\x95\xe4\xb8\x8d\xe4\xb8\x8e\xe4\xb8\x90\xe4\xb8\x91\xe4\xb8\x96\xe4\xb8\x99\x2e\x74\x78\x74";
1479 OpenUtf8FStreamForWrite(fileHandle,filename);
1484 ifstream infile ("SDP-Security_Tools-CertApp-CCDAT_0000.txt",ifstream::binary);
1486 infile.seekg(0,ifstream::end);
1487 size=infile.tellg();
1489 // allocate memory for file content
1490 buffer = new char [size];
1491 // read content of infile
1492 infile.read (buffer,size);
1494 fileHandle.write (buffer,size);
1496 // release dynamically-allocated memory
1501 //create argument list for certapp
1502 const char *argv_certclient[3];
1504 str1 <<"--hcertclients=" << filename;
1506 string1 = str1.str();
1508 argv_certclient[0] = string1.c_str();
1509 argv_certclient[1] = "--out";
1510 argv_certclient[2] = "--bcertclients=SDP-Security_Tools-CertApp-UNI00.dat";
1513 char *argument_ptr[3];
1515 for(int n = 0; n<argCount; n++)
1517 argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
1518 argv = argument_ptr;
1521 for(int i =0; i<argCount; i++)
1523 cout << "Arguments Being passed to the RunCertApp tool is " << argv[i] << endl;
1526 int ret = RunCertApp(progress, errors, argCount, argv);
1527 cout << "Return value from certapp is " << ret <<endl;
1528 stringstream logging;
1532 logging << "Error in creating store using the unicode file name config file " << filename << " and result is " << ret << " Fail";
1537 logging << "No Error in creating store using the unicode file named config file " << filename << " and result is " << ret << " Pass";
1540 stringstream testCaseType("SEC-TOOLS-CERTAPP-UNICODEFILE_CREATE");
1541 writeTMSResult(file, testCaseType, 0, ret==0, logging);
1545 Generate Certclient config files
1547 void GoodFileCertClientsTests(const stringstream &aFilename)
1549 FileCertClientConfigWriter filewriter(aFilename);
1550 const char *certclientPtr1;
1551 const char *certclientPtr2;
1552 for(int i = 0; i<KAppUidIndex ; i++)
1554 certclientPtr1 = goodAppNames[i];
1555 certclientPtr2 = gooduid_array[i];
1556 filewriter.WriteCertClientUid(certclientPtr2);
1557 filewriter.WriteCertClientName(certclientPtr1);
1563 Generate good config files for cacerts
1565 void GoodFileCaCertTests(const stringstream &aFilename ,int aValue)
1567 FileCertStoreConfigWriter fileCertWriter(aFilename);
1568 const char **cacertPtr;
1569 const char **label = filecert_array[0];
1574 // Tests for GoodLabels
1575 for(label = filecert_array[aValue]; *label; ++label)
1578 fileCertWriter.WriteFileEntry(*label);
1584 // Tests for GoodDeletables
1585 for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1587 fileCertWriter.WriteFileEntry(*label,*cacertPtr);
1594 //Tests for GoodFormats
1595 for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1597 fileCertWriter.WriteFileEntry(*label,0,*cacertPtr);
1604 //Tests for GoodCertOwnerTypes
1605 for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1607 fileCertWriter.WriteFileEntry(*label,0,0,*cacertPtr);
1614 //Tests for GoodSubjectKeyIds
1615 for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1617 fileCertWriter.WriteFileEntry(*label,0,0,0,*cacertPtr);
1624 //Tests for GoodIssuerKeyIds
1625 for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1627 fileCertWriter.WriteFileEntry(*label,0,0,0,0,*cacertPtr);
1634 //Tests for GoodApplications
1635 for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1637 fileCertWriter.WriteFileEntry(*label,0,0,0,0,0,*cacertPtr);
1644 //Tests for GoodTrusteds
1645 for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1647 fileCertWriter.WriteFileEntry(*label,0,0,0,0,0,0,*cacertPtr);
1655 //Test for PEM support
1656 const char* datafilename = "\"root5ca.pem\"";
1657 fileCertWriter.WriteFileEntry(*label,0,0,0,0,0,0,0,datafilename);
1667 Generate config file for swicert
1669 void GoodSwiCertTests(const stringstream &aFilename, int aIndex)
1671 SwiCertStoreConfigWriter swiWriter(aFilename);
1672 const char **swiPtr1, **swiPtr2;
1673 swiPtr2 = swicert_array[0]; // labels for all scripts
1678 // Tests for GoodLabels
1679 for(swiPtr2=swicert_array[aIndex] ; *swiPtr2; ++swiPtr2)
1681 swiWriter.WriteSwiEntry(*swiPtr2);
1687 //Tests for GoodFormats
1688 for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1690 swiWriter.WriteSwiEntry(*swiPtr2,*swiPtr1);
1697 //Tests for GoodCertOwnerTypes
1698 for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1700 swiWriter.WriteSwiEntry(*swiPtr2,0,*swiPtr1);
1707 //Tests for GoodSubjectKeyIds
1708 for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1710 swiWriter.WriteSwiEntry(*swiPtr2,0,0,*swiPtr1);
1717 //Tests for GoodIssuerKeyIds
1718 for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1720 swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,*swiPtr1);
1727 //Tests for GoodAswiPtr1lications
1728 for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1730 swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,0,*swiPtr1);
1737 //Tests for GoodTrusteds
1738 for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1740 swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,0,0,*swiPtr1);
1747 //Tests for GoodCapabilities
1748 swiPtr1 = swicert_array[aIndex];
1749 swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,0,0,0,*swiPtr1);
1754 //Tests for sGoodMandatory
1755 for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1757 swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,0,0,0,0,*swiPtr1);
1764 //Tests for sGoodSystemUpgrade
1765 for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1767 swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,0,0,0,0,0,*swiPtr1);
1778 Generate config files with invalid values for the store
1780 void TestBadConfigFiles(const stringstream &aFilename, bool aBool, stringstream &aTestCaseType, int aTestCaseIndex)
1782 // create command line input for cacerts
1783 //Ex:certapp --hcertclients=t_certclients_0.txt --hfilecertstore=t_cacerts_0.txt --out --bfilecertstore=cacerts_x.dat
1784 stringstream strArg1, strArg2, strArg3;
1785 stringstream configFileName;
1786 configFileName <<aFilename.str() << ".txt";
1787 cout << aFilename.str() <<endl;
1788 if(aBool == 0) // file store
1790 strArg1 <<"--hfilecertstore="<<aFilename.str() <<".txt";;//--hfilecertstore=t_cacerts_x.txt
1792 strArg2<< "--bfilecertstore=" << aFilename.str() <<".dat"; //--bfilecertstore=cacerts_x.dat
1793 cout <<"string value is " << strArg2.str().c_str() << endl;
1797 strArg1 <<"--hswicertstore="<<aFilename.str() <<".txt";;//--hswicertstore=t_cacerts_x.txt
1799 strArg2<< "--bswicertstore=" << aFilename.str() <<".dat"; //--bswicertstore=cacerts_x.dat
1800 cout <<"string value is " << strArg2.str().c_str() << endl;
1803 strArg3<< "--hcertclients=SDP-Security_Tools-CertApp-CCDAT_0000.txt";
1804 cout <<"string value is " << strArg3.str().c_str() << endl;
1806 string argument1, argument2, argument3;
1807 const char *argv_certclient[4];
1809 argument1 = strArg1.str().c_str();
1810 argument3 = strArg3.str().c_str();
1812 argv_certclient[0] = argument3.c_str(); // --hcertclients=t_certclients_0.txt
1813 argv_certclient[1] = argument1.c_str(); // --hfilecertstore=t_cacerts_x.txt
1814 argv_certclient[2] = "--out"; //--out
1815 argument2 = strArg2.str().c_str();
1816 argv_certclient[3] = argument2.c_str(); //--bfilecertstore=cacerts_x.dat
1818 char *argument_ptr[4];
1821 for(int n = 0; n<argCount4; n++)
1823 argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
1824 argv = argument_ptr;
1826 RunCertAppToolForBadParams(argCount4, argv, configFileName, aTestCaseType, aTestCaseIndex);
1830 Generate bad config files for cacerts
1832 void BadFileCaCertTests(const stringstream &aFilename ,int aValue, stringstream &aTestCaseType, int &aTestIndex)
1834 const char **caCertPtr;
1840 // Tests for BadLabels
1841 for(caCertPtr = badfilecert_array[aValue]; *caCertPtr ; ++caCertPtr )
1843 stringstream file1, file2;
1844 file1 << aFilename.str() <<"_"<<count;
1845 file2 << aFilename.str() <<"_"<<count <<".txt";
1846 FileBadCertStoreConfigWriter badcertfileWriter(file2);
1847 badcertfileWriter.WriteFileEntry(*caCertPtr);
1848 TestBadConfigFiles(file1, 0, aTestCaseType, aTestIndex++);
1855 // Tests for BadDeletables
1856 for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1858 stringstream file1, file2;
1859 file1 << aFilename.str() <<"_"<<count;
1860 file2 << aFilename.str() <<"_"<<count <<".txt";
1861 FileBadCertStoreConfigWriter badcertfileWriter(file2);
1862 badcertfileWriter.WriteFileEntry(0,*caCertPtr);
1863 TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1870 //Tests for BadFormats
1871 for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1873 stringstream file1, file2;
1874 file1 << aFilename.str() <<"_"<<count;
1875 file2 << aFilename.str() <<"_"<<count <<".txt";
1876 FileBadCertStoreConfigWriter badcertfileWriter(file2);
1877 badcertfileWriter.WriteFileEntry(0,0,*caCertPtr);
1878 TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1885 //Tests for BadCertOwnerTypes
1886 for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1888 stringstream file1, file2;
1889 file1 << aFilename.str() <<"_"<<count;
1890 file2 << aFilename.str() <<"_"<<count <<".txt";
1891 FileBadCertStoreConfigWriter badcertfileWriter(file2);
1892 badcertfileWriter.WriteFileEntry(0,0,0,*caCertPtr);
1893 TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1900 //Tests for BadSubjectKeyIds
1901 for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1903 stringstream file1, file2;
1904 file1 << aFilename.str() <<"_"<<count;
1905 file2 << aFilename.str() <<"_"<<count <<".txt";
1906 FileBadCertStoreConfigWriter badcertfileWriter(file2);
1907 badcertfileWriter.WriteFileEntry(0,0,0,0,*caCertPtr);
1908 TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1915 //Tests for BadIssuerKeyIds
1916 for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1918 stringstream file1, file2;
1919 file1 << aFilename.str() <<"_"<<count;
1920 file2 << aFilename.str() <<"_"<<count <<".txt";
1921 FileBadCertStoreConfigWriter badcertfileWriter(file2);
1922 badcertfileWriter.WriteFileEntry(0,0,0,0,0,*caCertPtr);
1923 TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1930 //Tests for BadApplications
1931 caCertPtr = badfilecert_array[aValue];
1932 stringstream file1, file2;
1933 file1 << aFilename.str() <<"_"<<count;
1934 file2 << aFilename.str() <<"_"<<count <<".txt";
1935 FileBadCertStoreConfigWriter badcertfileWriter(file2);
1936 badcertfileWriter.WriteFileEntry(0,0,0,0,0,0,*caCertPtr);
1937 TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1942 //Tests for BadTrusteds
1943 for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1945 stringstream file1, file2;
1946 file1 << aFilename.str() <<"_"<<count;
1947 file2 << aFilename.str() <<"_"<<count <<".txt";
1948 FileBadCertStoreConfigWriter badcertfileWriter(file2);
1949 badcertfileWriter.WriteFileEntry(0,0,0,0,0,0,0,*caCertPtr);
1950 TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1957 //Tests for BadDataFileName
1958 for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1960 stringstream file1, file2;
1961 file1 << aFilename.str() <<"_"<<count;
1962 file2 << aFilename.str() <<"_"<<count <<".txt";
1963 FileBadCertStoreConfigWriter badcertfileWriter(file2);
1964 badcertfileWriter.WriteFileEntry(0,0,0,0,0,0,0,0,*caCertPtr);
1965 TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1977 Generate bad Certclient config files
1979 void BadFileCertClientsTests(const stringstream &aFilename, int aIndex, stringstream &aTestCaseType, int &aTestCaseIndex)
1981 FileBadCertClientConfigWriter certfileWriter(aFilename);
1982 const char *certfilePtr1, *certfilePtr2;
1988 for(int i=0; i<KAppUidIndex; i++) // 4 badUids[] length
1990 stringstream file1, file2;
1991 file2 << aFilename.str() << "_" << i ;
1992 file1 << aFilename.str() <<"_"<<i <<".txt";
1993 FileBadCertClientConfigWriter certfileWriter(file1);
1994 certfilePtr1 = goodcertclient_array[0]; // good app name and
1995 certfilePtr2 = badUids[i];
1996 certfileWriter.WriteCertClientUid(certfilePtr2); // bad uid entry
1997 certfileWriter.WriteCertClientName(certfilePtr1);
1998 CertClientBadParamsFuncCall(file2, aTestCaseType, aTestCaseIndex++);
2005 for(int i = 0; i<4 ; i++) // length of badcertclient_array
2007 stringstream file1, file2;
2008 file2 << aFilename.str() << "_" << i ;
2009 file1 << aFilename.str() <<"_"<<i <<".txt";
2010 FileBadCertClientConfigWriter certfileWriter(file1);
2011 certfilePtr1 = badcertclient_array[i];
2012 certfilePtr2 = goodUids[0];
2013 certfileWriter.WriteCertClientUid(certfilePtr2);
2014 certfileWriter.WriteCertClientName(certfilePtr1);
2015 CertClientBadParamsFuncCall(file2, aTestCaseType, aTestCaseIndex++);
2020 // multiple names mapping to single uid
2024 file1 << aFilename.str() <<".txt";
2025 FileBadCertClientConfigWriter certfileWriter(file1);
2026 for(int i= 0; i<KAppUidIndex; i++)
2028 certfilePtr1 = goodAppNames[i]; //app names - SW Install,SW install Ocsp Signing etc.
2029 certfilePtr2 = goodUids[0];
2030 certfileWriter.WriteCertClientName(certfilePtr1);
2031 certfileWriter.WriteCertClientUid(certfilePtr2);
2033 CertClientBadParamsFuncCall(file1, aTestCaseType, aTestCaseIndex++);
2043 void CertClientBadParamsFuncCall(stringstream &aFileName, stringstream &aTestCaseType, int aTestCaseIndex)
2045 //Ex:certapp --hcertclients=t_certclients_0.txt --out --bcertclients=t_certclients_0.dat
2046 stringstream strArg1, strArg2, strArg3;
2047 strArg1 <<"--hcertclients=" << aFileName.str() << ".txt";
2049 strArg2<< "--bcertclients=" << aFileName.str() << ".dat";
2050 cout <<"string value is " << strArg2.str().c_str() << endl;
2052 string argument1, argument2;
2053 const char *argv_certclient[3];
2055 argument1= strArg1.str().c_str();
2056 argument2= strArg2.str().c_str();
2058 argv_certclient[0] = argument1.c_str(); // --hcertclients=tbad_certclients_x.txt
2059 argv_certclient[1] = "--out"; //--out
2060 argv_certclient[2] = argument2.c_str(); //--bcertclients=t_certclients_x.dat
2062 char *argument_ptr[3];
2065 for(int n = 0; n<argCount3; n++)
2067 argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
2068 argv = argument_ptr;
2070 RunCertAppToolForBadParams(argCount3, argv, aFileName, aTestCaseType, aTestCaseIndex);
2075 Generate config file for swicert
2077 void BadSwiCertTests(const stringstream &aFileName, int aIndex, stringstream &aTestCaseType, int &aTestIndex)
2079 const char **swicertPtr1;
2085 // Tests for BadLabels
2086 for(swicertPtr1= badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
2088 stringstream file1, file2;
2089 file1 << aFileName.str() <<"_"<<count;
2090 file2 << aFileName.str() <<"_"<<count <<".txt";
2091 SwiBadCertStoreConfigWriter badswiWriter(file2);
2092 badswiWriter.WriteSwiEntry(*swicertPtr1);
2093 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2101 //Tests for BadFormats
2102 for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
2104 stringstream file1, file2;
2105 file1 << aFileName.str() <<"_"<<count;
2106 file2 << aFileName.str() <<"_"<<count <<".txt";
2107 SwiBadCertStoreConfigWriter badswiWriter(file2);
2108 badswiWriter.WriteSwiEntry(0,*swicertPtr1);
2109 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2116 //Tests for BadCertOwnerTypes
2117 for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
2119 stringstream file1, file2;
2120 file1 << aFileName.str() <<"_"<<count;
2121 file2 << aFileName.str() <<"_"<<count <<".txt";
2122 SwiBadCertStoreConfigWriter badswiWriter(file2);
2123 badswiWriter.WriteSwiEntry(0,0,*swicertPtr1);
2124 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2131 //Tests for BadSubjectKeyIds
2132 for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
2134 stringstream file1, file2;
2135 file1 << aFileName.str() <<"_"<<count;
2136 file2 << aFileName.str() <<"_"<<count <<".txt";
2137 SwiBadCertStoreConfigWriter badswiWriter(file2);
2138 badswiWriter.WriteSwiEntry(0,0,0,*swicertPtr1);
2139 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2146 //Tests for BadIssuerKeyIds
2147 for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
2149 stringstream file1, file2;
2150 file1 << aFileName.str() <<"_"<<count;
2151 file2 << aFileName.str() <<"_"<<count <<".txt";
2152 SwiBadCertStoreConfigWriter badswiWriter(file2);
2153 badswiWriter.WriteSwiEntry(0,0,0,0,*swicertPtr1);
2154 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2161 //Tests for BadApplications
2162 swicertPtr1 = badswicert_array[aIndex];
2164 stringstream file1, file2;
2165 file1 << aFileName.str() <<"_"<<count;
2166 file2 << aFileName.str() <<"_"<<count <<".txt";
2167 SwiBadCertStoreConfigWriter badswiWriter(file2);
2168 badswiWriter.WriteSwiEntry(0,0,0,0,0,*swicertPtr1);
2169 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2176 //Tests for BadTrusteds
2177 for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
2179 stringstream file1, file2;
2180 file1 << aFileName.str() <<"_"<<count;
2181 file2 << aFileName.str() <<"_"<<count <<".txt";
2182 SwiBadCertStoreConfigWriter badswiWriter(file2);
2183 badswiWriter.WriteSwiEntry(0,0,0,0,0,0,*swicertPtr1);
2184 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2191 //Tests for BadDataFileName
2192 for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
2194 stringstream file1, file2;
2195 file1 << aFileName.str() <<"_"<<count;
2196 file2 << aFileName.str() <<"_"<<count <<".txt";
2197 SwiBadCertStoreConfigWriter badswiWriter(file2);
2198 badswiWriter.WriteSwiEntry(0,0,0,0,0,0,0,*swicertPtr1);
2199 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2206 //Tests for BadCapabilities
2207 swicertPtr1 = badswicert_array[aIndex];
2209 stringstream file1, file2;
2210 file1 << aFileName.str() <<"_"<<count;
2211 file2 << aFileName.str() <<"_"<<count <<".txt";
2212 SwiBadCertStoreConfigWriter badswiWriter(file2);
2213 badswiWriter.WriteSwiEntry(0,0,0,0,0,0,0,0,*swicertPtr1);
2214 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2221 //Tests for BadMandatory
2222 for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
2224 stringstream file1, file2;
2225 file1 << aFileName.str() <<"_"<<count;
2226 file2 << aFileName.str() <<"_"<<count <<".txt";
2227 SwiBadCertStoreConfigWriter badswiWriter(file2);
2228 badswiWriter.WriteSwiEntry(0,0,0,0,0,0,0,0,0,*swicertPtr1);
2229 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2236 //Tests for BadSystemUpgrade
2237 for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
2239 stringstream file1, file2;
2240 file1 << aFileName.str() <<"_"<<count;
2241 file2 << aFileName.str() <<"_"<<count <<".txt";
2242 SwiBadCertStoreConfigWriter badswiWriter(file2);
2243 badswiWriter.WriteSwiEntry(0,0,0,0,0,0,0,0,0,0,*swicertPtr1);
2244 TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
2255 @SYMTestCaseID SEC-TOOLS-CERTAPP-EMPTYFILE_CREATE-0000
2256 @SYMTestCaseDesc Test the tool with empty configuration file as input
2259 @SYMTestCaseID SEC-TOOLS-CERTAPP-EMPTYFILE_CREATE-0001
2260 @SYMTestCaseDesc Test the tool with empty configuration file as input
2263 @SYMTestCaseID SEC-TOOLS-CERTAPP-EMPTYFILE_CREATE-0002
2264 @SYMTestCaseDesc Test the tool with empty configuration file as input
2267 Test cases to test the tool with empty configuration files as input for all the stores
2269 void TestsWithEmptyConfigFile()
2271 stringstream testCaseType("SEC-TOOLS-CERTAPP-EMPTYFILE_CREATE");
2272 for(int i = 0 ; i<3 ; i++)
2274 stringstream emptyConfigFileName, configFileName1, configFileName2;
2275 emptyConfigFileName<< "SDP-Security_Tools-CertApp-EmptyFile_000"<< i <<".txt";
2280 configFileName1 << "--hcertclients=" << emptyConfigFileName.str();
2281 configFileName2 << "--bcertclients=SDP-Security_Tools-CertApp-EmptyFile_0000"<<".dat";
2282 FileCertClientConfigWriter certclient(emptyConfigFileName);
2288 configFileName1 << "--hfilecertstore=" << emptyConfigFileName.str();
2289 configFileName2 << "--bfilecertstore=SDP-Security_Tools-CertApp-EmptyFile_0001"<<".dat";
2290 FileCertStoreConfigWriter fileWriter(emptyConfigFileName);
2296 configFileName1 << "--hswicertstore=" << emptyConfigFileName.str();
2297 configFileName2 << "--bswicertstore=SDP-Security_Tools-CertApp-EmptyFile_0002"<<".dat";
2298 SwiCertStoreConfigWriter swiFileWriter(emptyConfigFileName);
2306 string argument1, argument2;
2307 argument1 = configFileName1.str().c_str();
2308 argument2 = configFileName2.str().c_str();
2309 const char *argv_certclient[4];
2310 argv_certclient[0] = "--hcertclients=SDP-Security_Tools-CertApp-CCDAT_0000.txt";
2311 argv_certclient[1] = argument1.c_str(); //"--hfilecertstore=t_emptyConfig.txt";
2312 argv_certclient[2] = "--out";
2313 argv_certclient[3] = argument2.c_str();
2316 char *argument_ptr[4];
2318 for(int n = 0; n<argcount; n++)
2320 argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
2321 argv = argument_ptr;
2323 for(int z=0; z<argcount; z++)
2325 cout << "Testing with empty configuration file" << argv[z] <<endl;
2328 RunCertAppTool(argcount, argv, emptyConfigFileName, testCaseType, i);
2333 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEFORMATS_CREATE-0000
2334 @SYMTestCaseDesc Test the certapp tool for different file encode formats
2337 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEFORMATS_CREATE-0001
2338 @SYMTestCaseDesc Test the certapp tool for different file encode formats
2341 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEFORMATS_CREATE-0002
2342 @SYMTestCaseDesc Test the certapp tool for different file encode formats
2345 @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEFORMATS_CREATE-0003
2346 @SYMTestCaseDesc Test the certapp tool for different file encode formats
2349 Code to test the certapp tool for different file encode formats
2351 void TestsWithEncodedFileFormats()
2353 stringstream testCaseType("SEC-TOOLS-CERTAPP-FILEFORMATS_CREATE");
2356 //Provide files with different encoded formats
2357 for(int i = 0; i<4; i++)
2359 stringstream unicodeName, outputFileName, strArg3;
2360 const char *argv_certclient[KIndex];
2361 unicodeName<< fileEncodeType[i];
2362 outputFileName <<"SDP-Security_Tools-CertApp-FileFormats-000" <<i;
2363 strArg3 << "--bfilecertstore="<< "SDP-Security_Tools-CertApp-FileFormats-000" <<i<<".dat";
2366 argument = strArg3.str().c_str();
2367 argv_certclient[0] = "--hcertclients=SDP-Security_Tools-CertApp-CCDAT_0000.txt";
2368 argv_certclient[1] = fileEncodeType[i]; // manually created unicode content files
2369 argv_certclient[2] = "--out";
2370 argv_certclient[3] = argument.c_str();
2372 for(int m=0; m<KIndex; m++)
2374 cout << "Value in argv_certclient " << m << "is " <<argv_certclient[m] <<endl;
2376 char *argument_ptr[4];
2378 for(int n = 0; n<KIndex; n++)
2380 argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
2381 argv = argument_ptr;
2384 for(int z=0; z<KIndex; z++)
2386 cout << "Argument array contains : " << argv[z] <<endl;
2389 int ret = RunCertApp(progress, errors, KIndex, argv);
2390 cout << "Return value from RunCertApp tool is " << ret << endl;
2393 stringstream logging;
2394 if(ret!= 0 && ((strcmp(unicodeName.str().c_str(),"--hfilecertstore=ucs2-bigendian.txt")==0) || (strcmp(unicodeName.str().c_str(),"--hfilecertstore=ucs2-littleendian.txt")==0)))
2397 logging << "Tool doesnt support for UCS encoded file-"<< outputFileName.str() <<" so the result is " << ret << " Pass";
2400 else if(ret== 0 && ((strcmp(unicodeName.str().c_str(),"--hfilecertstore=utf8.txt") ==0) || (strcmp(unicodeName.str().c_str(),"--hfilecertstore=utf8_without_bom.txt")==0)))
2403 logging << "No Error in creating store for UTF8 encoded file-"<<outputFileName.str()<< " and result is " << ret << " Pass";
2409 writeTMSResult(file, testCaseType, i, true, logging);
2411 } //End of encoded file formats testing
2415 @SYMTestCaseID SEC-TOOLS-CERTAPP-AGGRCERTSTORE_CREATE-0000
2416 @SYMTestCaseDesc Test case for REQ-10314 (Reviewing Aggregate Certificate DataBase)
2419 @SYMTestCaseID SEC-TOOLS-CERTAPP-AGGRCERTSTORE_CREATE-0001
2420 @SYMTestCaseDesc Test case for REQ-10314 (Reviewing Aggregate Certificate DataBase)
2423 Test case for REQ-10314 (Reviewing Aggregate Certificate DataBase)
2425 void TestToReviewingAggregateStore()
2427 stringstream testCaseType("SEC-TOOLS-CERTAPP-AGGRCERTSTORE_CREATE");
2429 for(int index = 0; index<2; index++)
2431 stringstream file1, file2;
2432 const char *argv_certclient[4];
2433 argv_certclient[2] = "--out";
2436 case 0: // different certificate labels in two stores
2438 argv_certclient[0] = "--bfilecertstore=teststore1.dat"; // these are 2 binary stores saved in perforce
2439 argv_certclient[1] = "--bfilecertstore=teststore3.dat";
2440 argv_certclient[3] = "--hfilecertstore=SDP-Security_Tools-CertApp-AggrCertStore-0000.txt";
2441 file1 <<"SDP-Security_Tools-CertApp-AggrCertStore-0000.txt";
2442 file2 <<"aggregatestorecontents1_3.txt";
2446 case 1: //duplicate certificate labels in two stores
2448 argv_certclient[0] = "--bfilecertstore=teststore2.dat"; // these are 2 binary stores saved in perforce
2449 argv_certclient[1] = "--bfilecertstore=teststore3.dat";
2450 argv_certclient[3] = "--hfilecertstore=SDP-Security_Tools-CertApp-AggrCertStore-0001.txt";
2451 file1 <<"SDP-Security_Tools-CertApp-AggrCertStore-0001.txt";
2452 file2 <<"aggregatestorecontents2_3.txt";
2460 for(int m=0; m<KIndex; m++)
2462 cout << "Value in argv_certclient " << m << "is " <<argv_certclient[m] <<endl;
2464 char *argument_ptr[KIndex];
2466 for(int n = 0; n<KIndex; n++)
2468 argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
2469 argv = argument_ptr;
2472 int ret = RunCertApp(progress, errors, KIndex, argv);
2473 stringstream logging;
2477 int compareValue = CompareFiles(file1,file2); // compare with the reference files in perforce
2480 logging << "Failed to successfully create Aggregate Database for " << file1.str() << " is Fail";
2485 logging << "Successfully created Aggregate Database(text form) for " <<file1.str() << " result is Pass";
2491 logging << "Failed to dump the stores to single text format for " <<file1.str();
2494 writeTMSResult(file, testCaseType, index, !ret, logging);
2500 @SYMTestCaseID SEC-TOOLS-CERTAPP-DECODEENCODE_COMPARE-0000
2501 @SYMTestCaseDesc Encode-decode test for certclient store
2504 TestCase to test the req of 10313- decode/encode certstore
2505 Encode-decode test for certclient store
2507 void TestToDecodeAndEncodeStore()
2509 stringstream testCaseType("SEC-TOOLS-CERTAPP-DECODEENCODE_COMPARE");
2511 stringstream outputFileName, strArg1, strArg2;
2512 outputFileName <<"SDP-Security_Tools-CertApp-DecodeEncode-0000";
2513 strArg1 << "decodeoutput1.txt";
2514 strArg2 << "decodeoutput2.txt";
2516 const char *argv_certclient[3]; //dump store to text
2517 argv_certclient[0] = "--bcertclients=certclients_0.dat";
2518 argv_certclient[1] = "--out";
2519 argv_certclient[2] = "--hcertclients=decodeoutput1.txt";
2520 decodeEncodeCertAppCall(argv_certclient);
2522 //create store with the decoded text as input
2523 argv_certclient[0] = "--hcertclients=decodeoutput1.txt";
2524 argv_certclient[2] = "--bcertclients=decodeoutput.dat";
2525 decodeEncodeCertAppCall(argv_certclient);
2527 //take the encoded store and dump it back to text form
2528 argv_certclient[0] = "--bcertclients=decodeoutput.dat";
2529 argv_certclient[2] = "--hcertclients=decodeoutput2.txt";
2530 decodeEncodeCertAppCall(argv_certclient);
2532 int compVal = CompareFiles(strArg1, strArg2);
2533 stringstream logging;
2534 cout << "Return value of comparision is " << compVal <<endl;
2538 logging << "Encode-Decode fail for " <<outputFileName.str() << " result is Fail";
2543 logging << "Encode-Decode Pass for " <<outputFileName.str() << " result is Pass";
2546 writeTMSResult(file, testCaseType, 0, compVal==0, logging);
2549 void decodeEncodeCertAppCall(const char *aArray[])
2551 char *argument_ptr[3];
2553 for(int m=0; m<3; m++)
2555 cout << "Value in argv_certclient " << m << "is " <<aArray[m] <<endl;
2557 for(int n = 0; n<3; n++)
2559 argument_ptr[n] = const_cast<char*>(aArray[n]);
2560 argv = argument_ptr;
2562 RunCertApp(progress, errors ,3, argv);
2566 int CompareFiles(stringstream &aFile1, stringstream &aFile2)
2568 ifstream inFile1, inFile2;
2569 string name1 = aFile1.str();
2570 string name2 = aFile2.str();
2571 inFile1.open(name1.c_str(), ifstream::in);
2574 cout << "Failed to open the file! May be not existing" << endl;
2577 inFile2.open(name1.c_str(), ifstream::in);
2580 cout << "Failed to open the file! May be not existing" << endl;
2583 return Compare(inFile1, inFile2);
2587 int Compare(istream &aIstream1, istream &aIstream2)
2590 while (aIstream1.get(ch1))
2592 if (!aIstream2.get(ch2) || (ch1 != ch2))
2594 cout << "files are not equal";
2598 if (!aIstream2.get(ch2)) // no more chars to read fom file
2600 cout << "files are equal\n";
2605 cout << "files are not equal";
2612 Generate script files for the filecertstore emulator tests
2614 void GenerateGoodCertClientTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex)
2616 CertClientsStoreScriptGeneration cert_clients(aFilename);
2618 cert_clients.WriteInitialiseCertClient(aTestCaseType, aTestIndex);
2619 cert_clients.WriteGetCount(KAppUidIndex, aTestCaseType, aTestIndex);
2620 cert_clients.WriteGetApplicationsList(aTestCaseType, aTestIndex);
2622 for(int i = 0; i<KAppUidIndex;i++)
2624 const char *goodlabel = goodcertclient_array[i];
2625 const char *uid = gooddecimalUid_array[i];
2626 cert_clients.WriteGetAppWithUid(goodlabel, uid, aTestCaseType, aTestIndex);
2628 cert_clients.WriteDestroyManager(aTestCaseType, aTestIndex);
2632 Generates config files for cacerts
2634 void GenerateGoodCaCertsTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex)
2636 FileStoreScriptGeneration fileStore(aFilename);
2638 const char *mode = "write";
2639 const char *ownertype = goodOwnerType[0]; //CA ownerType
2641 fileStore.WriteInitialiseCert(mode, aTestCaseType, aTestIndex);
2642 fileStore.WriteListcert(ownertype, aTestCaseType, aTestIndex);
2644 for(int i = 0; i<6;i++)
2646 const char *trust = goodTrust[0]; // true
2647 const char *goodlabel = goodEmuCert_array[i]; // list of label - root5ca , symbiandtestcsa, symbiantestrcsa
2649 fileStore.WriteGetCertificateDetails(goodlabel, aTestCaseType, aTestIndex);
2650 fileStore.WriteGetTrust(goodlabel, trust, aTestCaseType, aTestIndex);
2651 fileStore.WriteGetApplications(goodlabel, aTestCaseType, aTestIndex);
2652 fileStore.WriteRetrieveCerts(goodlabel, aTestCaseType, aTestIndex);
2657 Generate script files for the swicertstore emulator tests
2659 void GenerateGoodSwiCertTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex)
2661 SWIStoreScriptGeneration swiStore(aFilename);
2663 const char *ownertype = goodOwnerType[0]; //CA ownerType
2665 //initilaise the store and get list all the certificate ones
2666 swiStore.WriteInitialiseCert(aTestCaseType, aTestIndex);
2667 swiStore.WriteListcert(ownertype, aTestCaseType, aTestIndex);
2669 for(int i = 0; i<6;i++)
2671 const char *trust = goodTrust[0]; // true
2672 const char *goodlabel = goodSwiCert_array[i]; // list of label - root5ca , symbiandtestcsa, symbiantestrcsa
2673 const char *mandatoryVal = mandatory[0];
2674 const char *systemupgrade = systemUpgrade[0];
2676 swiStore.WriteGetSystemUpgrade(goodlabel, systemupgrade, aTestCaseType, aTestIndex);
2677 swiStore.WriteRetrieveCerts(goodlabel, aTestCaseType, aTestIndex);
2678 swiStore.WriteGetApplications(goodlabel, aTestCaseType, aTestIndex);
2679 swiStore.WriteGetTrust(goodlabel, trust, aTestCaseType, aTestIndex);
2680 swiStore.WriteGetCapabilities(goodlabel, aTestCaseType, aTestIndex);
2681 swiStore.WriteGetMandatoryFlag(goodlabel, mandatoryVal, aTestCaseType, aTestIndex);