os/security/securityanddataprivacytools/securitytools/certapp/test/tcertapp/tcertapp.cpp
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/security/securityanddataprivacytools/securitytools/certapp/test/tcertapp/tcertapp.cpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,2687 @@
1.4 +/*
1.5 +* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of the License "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +#include <iostream>
1.23 +#include <tools/certapp-api.h>
1.24 +#include "badconfigwriter.h"
1.25 +#include "tcertapp_good.h"
1.26 +#include "tcertapp_bad.h"
1.27 +#include "goodconfigwriter.h"
1.28 +#include <string>
1.29 +#include <sstream>
1.30 +#include <stdlib.h>
1.31 +#include <stdio.h>
1.32 +#include <time.h>
1.33 +#include <sys/timeb.h>
1.34 +#include "logger.h"
1.35 +#include "utils.h"
1.36 +
1.37 +using namespace std;
1.38 +
1.39 +// Write a pass or fail result for a test case to the TMS log file
1.40 +void writeTMSResult(ofstream &aLogFile, stringstream &aTestCaseType, int aTestCaseIndex, bool aResult, stringstream &aLogging);
1.41 +
1.42 +//Funtions to generate Good/Valid config files for tcertapp
1.43 +void GoodFileCaCertTests(const stringstream &aFilename, int aArray_value);
1.44 +void GoodFileCertClientsTests(const stringstream &aFilename);
1.45 +void GoodSwiCertTests(const stringstream &aFilename, int aArray_value);
1.46 +
1.47 +//Functions to generate Good/Valid script files for emulator tests
1.48 +void GenerateGoodCaCertsTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex);
1.49 +void GenerateGoodCertClientTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex);
1.50 +void GenerateGoodSwiCertTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex);
1.51 +
1.52 +//Funtions to generate Bad/illegal config files for tcertapp
1.53 +void BadFileCaCertTests(const stringstream &aFilename, int aArray_value, stringstream &aTestCaseType, int &aTestIndex);
1.54 +void BadFileCertClientsTests(const stringstream &aFilename, int aIndex, stringstream &aTestCaseType, int &aTestIndex);
1.55 +void BadSwiCertTests(const stringstream &aFilename, int aArray_value, stringstream &aTestCaseType, int &aTestIndex);
1.56 +
1.57 +//Function call for RunCertApp api
1.58 +void RunCertAppTool(int argc, char **argv, stringstream &aStringval, stringstream &testCaseType, int testCaseIndex);
1.59 +void RunCertAppToolForStoreDump(int aArgc, char **aArgv, stringstream &aStringval, stringstream &testCaseType, int testCaseIndex);
1.60 +void RunCertAppToolForBadParams(int aArgc, char **aArgv, stringstream &aStringval, stringstream &testCaseType, int testCaseIndex);
1.61 +
1.62 +void TestsWithEmptyConfigFile();
1.63 +void CreateFileToAugmentStore();
1.64 +void TestsWithEncodedFileFormats();
1.65 +void TestToDecodeAndEncodeStore();
1.66 +void TestToReviewingAggregateStore();
1.67 +void TestBadConfigFiles(const stringstream &aFilename, bool aBool, stringstream &aTestCaseType, int aTestCaseIndex);
1.68 +void CertClientBadParamsFuncCall(stringstream &aFileName, stringstream &aTestCaseType, int aTestCaseIndex);
1.69 +void decodeEncodeCertAppCall(const char *aArray[]);
1.70 +int CompareFiles(stringstream &aFileName1, stringstream &aFileName2);
1.71 +int Compare(istream &aIstream1, istream &aIstream2);
1.72 +void TestWithUnicodFileName();
1.73 +
1.74 +ofstream file; //global file handle to write to output file
1.75 +const char *progress = "progress.txt"; // logs the progress report
1.76 +const char *errors = "error.txt"; // logs the error report
1.77 +
1.78 +//some constants used
1.79 +const int KFileArrayIndex = 8;
1.80 +const int KSwicertIndex = 10;
1.81 +const int KSwiBadcertIndex = 11;
1.82 +const int KFileBadcertIndex = 9;
1.83 +const int KAppUidIndex = 4;
1.84 +const int KIndex = 4;
1.85 +
1.86 +// to get the count of passed and failed test cases
1.87 +static int failCount = 0, passCount = 0;
1.88 +
1.89 +//pointers required for creation of good filecerts config files
1.90 +const char **filecert_array[KFileArrayIndex]=
1.91 +{
1.92 + goodCert_array,
1.93 + goodDeletables,
1.94 + goodFormats,
1.95 + goodCertOwnerTypes,
1.96 + goodSubjectKeyIds,
1.97 + goodIssuerKeyIds,
1.98 + goodApplications,
1.99 + goodTrusteds
1.100 +};
1.101 +
1.102 +//pointers required for creation of bad filecerts config files
1.103 +const char **badfilecert_array[KFileBadcertIndex]=
1.104 +{
1.105 + badLabels,
1.106 + badDeletables,
1.107 + badFormats,
1.108 + badCertOwnerTypes,
1.109 + badSubjectKeyIds,
1.110 + badIssuerKeyIds,
1.111 + badApplications,
1.112 + badTrusteds,
1.113 + badDatafilePath
1.114 +};
1.115 +
1.116 +
1.117 +//pointers required for creation of good swicerts config files
1.118 +const char **swicert_array[KSwicertIndex]=
1.119 +{
1.120 + goodLabels,
1.121 + goodFormats,
1.122 + goodCertOwnerTypes,
1.123 + goodSubjectKeyIds,
1.124 + goodIssuerKeyIds,
1.125 + goodAppNames,
1.126 + goodTrusteds,
1.127 + goodCapabilitySets,
1.128 + goodMandatory,
1.129 + goodSystemUpgrade
1.130 +};
1.131 +
1.132 +//pointers required for creation of bad swicerts config files
1.133 +const char **badswicert_array[KSwiBadcertIndex]=
1.134 +{
1.135 + badLabels,
1.136 + badFormats,
1.137 + badCertOwnerTypes,
1.138 + badSubjectKeyIds,
1.139 + badIssuerKeyIds,
1.140 + badApplications,
1.141 + badTrusteds,
1.142 + badDatafilePath,
1.143 + badCapabilitySets,
1.144 + badMandatory,
1.145 + badSystemUpgrade
1.146 +};
1.147 +
1.148 +
1.149 +//encoded file names for input to the tool
1.150 +const char *fileEncodeType[4]=
1.151 +{
1.152 +"--hfilecertstore=utf8.txt",
1.153 +"--hfilecertstore=utf8_without_bom.txt",
1.154 +"--hfilecertstore=ucs2-bigendian.txt",
1.155 +"--hfilecertstore=ucs2-littleendian.txt"
1.156 +};
1.157 +
1.158 +// Write a pass or fail result for a test case to the TMS log file
1.159 +void writeTMSResult(ofstream &aLogFile, stringstream &aTestCaseType, int aTestCaseIndex, bool aResult, stringstream &aLogging)
1.160 + {
1.161 + // get the current time
1.162 + time_t rawtime;
1.163 + struct tm * timeinfo;
1.164 + char standardTimeBuffer[10];
1.165 + time(&rawtime);
1.166 + timeinfo = localtime(&rawtime);
1.167 + strftime(standardTimeBuffer, 10, "%H:%M:%S", timeinfo);
1.168 +
1.169 + char millisecondTimeBuffer[6];
1.170 +
1.171 + #ifdef __TOOLS2_LINUX__
1.172 + struct timeb tstruct;
1.173 + ftime(&tstruct);
1.174 + #else
1.175 + struct _timeb tstruct;
1.176 + _ftime(&tstruct);
1.177 + #endif
1.178 +
1.179 + sprintf(millisecondTimeBuffer, ":%03u ", tstruct.millitm);
1.180 +
1.181 + stringstream timeBuffer;
1.182 + timeBuffer << standardTimeBuffer << millisecondTimeBuffer;
1.183 +
1.184 + // set result string
1.185 + stringstream resultBuffer;
1.186 +
1.187 + if (aResult)
1.188 + {
1.189 + resultBuffer << "PASS";
1.190 + }
1.191 + else
1.192 + {
1.193 + resultBuffer << "FAIL";
1.194 + }
1.195 +
1.196 + // set test case ID string
1.197 + char testCaseIndexBuffer[6];
1.198 + sprintf(testCaseIndexBuffer, "-%04d", aTestCaseIndex);
1.199 +
1.200 + // write result in the correct format
1.201 + aLogFile << "<html><body><pre>\r\n";
1.202 + aLogFile << timeBuffer.str();
1.203 + aLogFile << "START_TESTCASE ";
1.204 + aLogFile << aTestCaseType.str() << testCaseIndexBuffer;
1.205 + aLogFile << "\r\n";
1.206 + aLogFile << timeBuffer.str();
1.207 + aLogFile << "Line = 1 Command = START_TESTCASE ";
1.208 + aLogFile << aTestCaseType.str() << testCaseIndexBuffer;
1.209 + aLogFile << "\r\n";
1.210 +
1.211 + if (aLogging.str() != "")
1.212 + {
1.213 + aLogFile << timeBuffer.str();
1.214 + aLogFile << aLogging.str();
1.215 + aLogFile << "\r\n";
1.216 + }
1.217 +
1.218 + aLogFile << timeBuffer.str();
1.219 + aLogFile << "END_TESTCASE ";
1.220 + aLogFile << aTestCaseType.str() << testCaseIndexBuffer;
1.221 + aLogFile << "\r\n";
1.222 + aLogFile << timeBuffer.str();
1.223 + aLogFile << "Line = 1 Command = END_TESTCASE ";
1.224 + aLogFile << aTestCaseType.str() << testCaseIndexBuffer;
1.225 + aLogFile << " ***TestCaseResult = ";
1.226 + aLogFile << resultBuffer.str();
1.227 + aLogFile << "\r\n</pre></body></html>\r\n";
1.228 + }
1.229 +
1.230 +//RunCertApp call to create store from text input
1.231 +void RunCertAppTool( int argc, char **argv, stringstream &stringval, stringstream &testCaseType, int testCaseIndex)
1.232 +{
1.233 + for(int i =0; i<argc; i++)
1.234 + {
1.235 + cout << "Arguments Being passed to the RunCertApp tool is " << argv[i] << endl;
1.236 + }
1.237 + int ret = RunCertApp(progress, errors, argc, argv);
1.238 + cout << "Return Value from CertApp Tool is " << ret << endl;
1.239 + stringstream logging;
1.240 + if(ret!= 0)
1.241 + {
1.242 + failCount++;
1.243 + logging << "Error in creating store for " << stringval.str() << " and result is " << ret << " Fail" ;
1.244 + }
1.245 + else
1.246 + {
1.247 + passCount++;
1.248 + logging << "No Error in creating store for " << stringval.str() << " and result is " << ret << " Pass" ;
1.249 + }
1.250 +
1.251 + writeTMSResult(file, testCaseType, testCaseIndex, ret==0, logging);
1.252 +}
1.253 +
1.254 +//RunCertApp call to dump the store to human readable format
1.255 +void RunCertAppToolForStoreDump(int argc, char **argv, stringstream &stringval, stringstream &testCaseType, int testCaseIndex)
1.256 +{
1.257 + int ret = RunCertApp(progress, errors, argc, argv);
1.258 + cout << "Return Value from CertApp Tool is " << ret << endl;
1.259 + stringstream logging;
1.260 + if(ret!= 0)
1.261 + {
1.262 + failCount++;
1.263 + logging << "Error in Dumping the store file for " << stringval.str() << " and result is " << ret << " Fail";
1.264 + }
1.265 + else
1.266 + {
1.267 + passCount++;
1.268 + logging << "No Error in Dumping store for " << stringval.str() << " and result is " << ret << " Pass";
1.269 + }
1.270 +
1.271 + writeTMSResult(file, testCaseType, testCaseIndex, ret==0, logging);
1.272 +}
1.273 +
1.274 +//RunCertApp call to create store for bad params
1.275 +void RunCertAppToolForBadParams(int argc, char **argv, stringstream &stringval, stringstream &testCaseType, int testCaseIndex)
1.276 +{
1.277 + int ret = RunCertApp(progress, errors, argc, argv);
1.278 + stringstream logging;
1.279 + if(ret!= 0)
1.280 + {
1.281 + passCount++;
1.282 + cout << "We have passsed bad paramerters! Expected Return value is -1 And the RunCertApp has returned " << ret << " as Expected"<< endl;
1.283 + logging << "Bad Params! So Cannot create the store for " << stringval.str() << " and result is " << ret << " Pass";
1.284 + }
1.285 + else
1.286 + {
1.287 + failCount++;
1.288 + logging << "We are using bad parameters! So the tools should fail to create store! " << stringval.str() << " and result is " << ret << " Fail";
1.289 + cout << "We have passsed bad paramerters! The Tool has failed- It should return -1, But returned" << ret << endl;
1.290 + }
1.291 +
1.292 + writeTMSResult(file, testCaseType, testCaseIndex, ret==0, logging);
1.293 +}
1.294 +
1.295 +
1.296 +/**
1.297 +main entry to the program
1.298 +*/
1.299 +int main(int /*argc*/, char ** /*argv*/)
1.300 +{
1.301 + stringstream testCaseType;
1.302 + int testCaseIndex = 0;
1.303 +
1.304 + dbg.SetStream(&std::cout);
1.305 + prog.SetStream(&std::cout);
1.306 + std::cout << std::dec;
1.307 +
1.308 + int num_tests = 0;
1.309 + int argCount3 = 3;
1.310 + int argCount4 = 4;
1.311 + // File to log the result of all tests
1.312 + if(file)
1.313 + {
1.314 + file.open("tCertapp_Output.htm", ios_base::trunc | ios_base::out);
1.315 + }
1.316 +
1.317 + //create a file to augment the content to existing store
1.318 + CreateFileToAugmentStore();
1.319 +
1.320 +/**
1.321 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCDAT_CREATE-0000
1.322 + @SYMTestCaseDesc Create store
1.323 +*/
1.324 +
1.325 + //create certclient config files
1.326 + //Format used for the files name is SDP-Security_Tools-CertApp-XXX-000X to match with the TMS test case id
1.327 + stringstream certclientfileName;
1.328 + certclientfileName << "SDP-Security_Tools-CertApp-CCDAT_000"<<num_tests<<".txt";
1.329 + GoodFileCertClientsTests(certclientfileName);
1.330 +
1.331 + //create command line argument for creation of certclientx.dat through certapp tool
1.332 + stringstream strArg1, strArg2, augFileName;
1.333 + strArg1 <<"--hcertclients=" << certclientfileName.str();
1.334 + cout << "test" << strArg1.str().c_str() <<endl;
1.335 +
1.336 + strArg2<< "--bcertclients=SDP-Security_Tools-CertApp-CCDAT_000" <<num_tests <<".dat";
1.337 + cout <<"string value is " << strArg2.str().c_str() << endl;
1.338 +
1.339 + string argument1, argument2;
1.340 + const char *argv_certclient[4];
1.341 +
1.342 + argument1 = strArg1.str().c_str();
1.343 + argv_certclient[0] = argument1.c_str();
1.344 +
1.345 + argv_certclient[1] = "--out";
1.346 + argument2 = strArg2.str().c_str();
1.347 + argv_certclient[2] = argument2.c_str();
1.348 +
1.349 + char **argv, **argv1;
1.350 + char *argument_ptr[3]; //[Format:: certapp --hcertclients=t_certclients_0.txt --out --bcertclients=certclients5.dat]
1.351 +
1.352 + for(int n1 = 0; n1<argCount3; n1++)
1.353 + {
1.354 + argument_ptr[n1] = const_cast<char*>(argv_certclient[n1]);
1.355 + argv = argument_ptr;
1.356 + }
1.357 +
1.358 + testCaseType.str("SEC-TOOLS-CERTAPP-CCDAT_CREATE");
1.359 + RunCertAppTool(argCount3, argv, certclientfileName, testCaseType, 0); // creating dat file
1.360 +
1.361 +/**
1.362 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCAUG_AUGMENT-0000
1.363 + @SYMTestCaseDesc Augment the Store with Extra entries
1.364 +*/
1.365 +
1.366 + //Augment the Store with Extra entries
1.367 + augFileName<<"SDP-Security_Tools-CertApp-CCAUG_0000.dat";
1.368 + argv_certclient[0] = "--hcertclients=tCertClient_Augment.txt";
1.369 + argv_certclient[1] = argv_certclient[2];
1.370 + argv_certclient[2] = "--out";
1.371 + argv_certclient[3] = "--bcertclients=SDP-Security_Tools-CertApp-CCAUG_0000.dat";
1.372 + for(int x = 0; x<argCount4; x++)
1.373 + {
1.374 + argument_ptr[x] = const_cast<char*>(argv_certclient[x]);
1.375 + argv1 = argument_ptr;
1.376 + }
1.377 +
1.378 + testCaseType.str("SEC-TOOLS-CERTAPP-CCAUG_AUGMENT");
1.379 + RunCertAppTool(argCount4, argv1, augFileName, testCaseType, 0);
1.380 +
1.381 +/**
1.382 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCDAT_DUMP-0000
1.383 + @SYMTestCaseDesc Dump the dat file to human readable text format
1.384 +*/
1.385 +
1.386 + //Dump the dat file to human readable text format
1.387 + argv_certclient[0] = argv_certclient[3];
1.388 + argv_certclient[1] = "--out";
1.389 + argv_certclient[2] = "--hcertclients=SDP-Security_Tools-CertApp-CCDUMP_0000.txt";
1.390 +
1.391 + for(int k = 0; k<argCount3; k++)
1.392 + {
1.393 + argument_ptr[k] = const_cast<char*>(argv_certclient[k]);
1.394 + argv1 = argument_ptr;
1.395 + }
1.396 +
1.397 + testCaseType.str("SEC-TOOLS-CERTAPP-CCDAT_DUMP");
1.398 + RunCertAppToolForStoreDump(argCount3, argv1, certclientfileName, testCaseType, 0);
1.399 + //End of t_certclients
1.400 +
1.401 + //Creates good config files to augment store and dump store to text format for file certstore - cacerts.dat
1.402 + //Test for all positive cases
1.403 + for(num_tests = 0; num_tests<=KFileArrayIndex; num_tests++)
1.404 + {
1.405 + stringstream caCertFileName;
1.406 + caCertFileName << "SDP-Security_Tools-CertApp-FILEDAT_000"<<num_tests<<".txt";
1.407 + GoodFileCaCertTests(caCertFileName,num_tests);
1.408 +
1.409 +/**
1.410 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0000
1.411 + @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
1.412 +*/
1.413 +/**
1.414 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0001
1.415 + @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
1.416 +*/
1.417 +/**
1.418 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0002
1.419 + @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
1.420 +*/
1.421 +/**
1.422 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0003
1.423 + @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
1.424 +*/
1.425 +/**
1.426 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0004
1.427 + @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
1.428 +*/
1.429 +/**
1.430 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0005
1.431 + @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
1.432 +*/
1.433 +/**
1.434 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0006
1.435 + @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
1.436 +*/
1.437 +/**
1.438 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0007
1.439 + @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
1.440 +*/
1.441 +/**
1.442 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDAT_CREATE-0008
1.443 + @SYMTestCaseDesc CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
1.444 +*/
1.445 +
1.446 + // CREATE CACERTS STORE FROM HUMAN READABLE TEXT INPUT
1.447 + //ex:certapp --hcertclients=t_certclients_0.txt --hfilecertstore=t_cacerts_0.txt --out --bfilecertstore=cacerts_x.dat
1.448 + stringstream strArg1, strArg2, strArg3, strArg4, strArg5;
1.449 + strArg1 <<"--hfilecertstore=SDP-Security_Tools-CertApp-FILEDAT_000" <<num_tests << ".txt" ;
1.450 +
1.451 + strArg2<< "--bfilecertstore=SDP-Security_Tools-CertApp-FILEDAT_000"<<num_tests <<".dat";
1.452 + cout <<"string value is " << strArg2.str().c_str() << endl;
1.453 +
1.454 + strArg3<< "--hcertclients=SDP-Security_Tools-CertApp-CCDAT_0000.txt";
1.455 + cout <<"string value is " << strArg3.str().c_str() << endl;
1.456 +
1.457 + string argument1, argument2, argument3, argument4, argument5;
1.458 + const char *argv_certclient[4];
1.459 +
1.460 + argument1 = strArg1.str().c_str();
1.461 + argument3 = strArg3.str().c_str();
1.462 +
1.463 + argv_certclient[0] = argument3.c_str(); // --hcertclients=t_certclients_0.txt
1.464 + argv_certclient[1] = argument1.c_str(); // --hfilecertstore=t_cacerts_x.txt
1.465 + argv_certclient[2] = "--out"; //--out
1.466 + argument2 = strArg2.str().c_str();
1.467 + argv_certclient[3] = argument2.c_str(); //--bfilecertstore=cacerts_x.dat
1.468 +
1.469 + char *argument_ptr[4];
1.470 + char **argv, **argv1, **argv2 ;
1.471 + for(int n = 0; n<argCount4; n++)
1.472 + {
1.473 + argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
1.474 + argv = argument_ptr;
1.475 + }
1.476 +
1.477 + testCaseType.str("SEC-TOOLS-CERTAPP-FILEDAT_CREATE");
1.478 + RunCertAppTool(argCount4, argv, caCertFileName, testCaseType, num_tests);
1.479 +
1.480 +/**
1.481 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0000
1.482 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.483 +*/
1.484 +/**
1.485 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0001
1.486 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.487 +*/
1.488 +/**
1.489 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0002
1.490 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.491 +*/
1.492 +/**
1.493 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0003
1.494 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.495 +*/
1.496 +/**
1.497 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0004
1.498 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.499 +*/
1.500 +/**
1.501 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0005
1.502 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.503 +*/
1.504 +/**
1.505 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0006
1.506 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.507 +*/
1.508 +/**
1.509 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0007
1.510 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.511 +*/
1.512 +/**
1.513 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT-0008
1.514 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.515 +*/
1.516 +
1.517 + //AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.518 + //ex:certapp --hfilecertstore=tAugment_cacerts_x.txt --bfilecertstore=cacerts.dat --out --bfilecertstore=new_extra_filecertstore.dat
1.519 + stringstream augFileName, textDumpFileName;
1.520 + augFileName<<"SDP-Security_Tools-CertApp-FILEAUG_000" <<num_tests << ".dat";
1.521 + strArg4<<"--bfilecertstore=SDP-Security_Tools-CertApp-FILEAUG_000" << num_tests << ".dat";
1.522 + argument4 = strArg4.str();
1.523 + argv_certclient[0] = "--hfilecertstore=tfile_Augment.txt"; //--hfilecertstore=tAugment_cacerts_x.txt
1.524 + argv_certclient[1] = argv_certclient[3]; //--bfilecertstore=cacerts_x.dat
1.525 + argv_certclient[2] = "--out"; //--out
1.526 + argv_certclient[3] = argument4.c_str(); //--bfilecertstore=aug_cacerts_x.dat
1.527 +
1.528 + for(int x = 0; x<argCount4; x++)
1.529 + {
1.530 + argument_ptr[x] = const_cast<char*>(argv_certclient[x]);
1.531 + argv1 = argument_ptr;
1.532 + }
1.533 +
1.534 + testCaseType.str("SEC-TOOLS-CERTAPP-FILEAUG_AUGMENT");
1.535 + RunCertAppTool(argCount4, argv1, augFileName, testCaseType, num_tests);
1.536 +
1.537 +/**
1.538 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0000
1.539 + @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
1.540 +*/
1.541 +/**
1.542 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0001
1.543 + @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
1.544 +*/
1.545 +/**
1.546 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0002
1.547 + @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
1.548 +*/
1.549 +/**
1.550 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0003
1.551 + @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
1.552 +*/
1.553 +/**
1.554 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0004
1.555 + @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
1.556 +*/
1.557 +/**
1.558 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0005
1.559 + @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
1.560 +*/
1.561 +/**
1.562 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0006
1.563 + @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
1.564 +*/
1.565 +/**
1.566 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0007
1.567 + @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
1.568 +*/
1.569 +/**
1.570 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEDUMP_DUMP-0008
1.571 + @SYMTestCaseDesc DUMP THE STORE TO HUMAN READABLE FORMAT
1.572 +*/
1.573 +
1.574 + //DUMP THE STORE TO HUMAN READABLE FORMAT
1.575 + //ex:certapp --bfilecertstore=test.dat --out --hfilecertstore=t_cacerts.txt
1.576 + textDumpFileName <<"SDP-Security_Tools-CertApp-FILEDUMP_000"<< num_tests << ".txt";
1.577 + argv_certclient[0] = argv_certclient[3]; //--bfilecertstore=aug_cacerts_x.dat
1.578 + argv_certclient[1] = "--out";
1.579 + strArg5<< "--hfilecertstore=SDP-Security_Tools-CertApp-FILEDUMP_000" <<num_tests << ".txt";
1.580 + argument5 = strArg5.str().c_str();
1.581 + argv_certclient[2] = argument5.c_str();
1.582 +
1.583 + for(int k = 0; k<argCount3; k++)
1.584 + {
1.585 + argument_ptr[k] = const_cast<char*>(argv_certclient[k]);
1.586 + argv2 = argument_ptr;
1.587 + }
1.588 + //Dumps the augmented store
1.589 +
1.590 + testCaseType.str("SEC-TOOLS-CERTAPP-FILEDUMP_DUMP");
1.591 + RunCertAppToolForStoreDump(argCount3, argv2, textDumpFileName, testCaseType, num_tests);
1.592 + }//End of cacerts
1.593 +
1.594 +
1.595 + //create config files with legal values for swi certstore
1.596 + for(num_tests = 0; num_tests<KSwicertIndex; num_tests++)
1.597 + {
1.598 + stringstream swiCertStoreFileName;
1.599 + swiCertStoreFileName << "SDP-Security_Tools-CertApp-SWIDAT_000"<<num_tests<<".txt";
1.600 + GoodSwiCertTests(swiCertStoreFileName,num_tests);
1.601 +
1.602 +/**
1.603 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0000
1.604 + @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.605 +*/
1.606 +/**
1.607 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0001
1.608 + @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.609 +*/
1.610 +/**
1.611 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0002
1.612 + @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.613 +*/
1.614 +/**
1.615 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0003
1.616 + @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.617 +*/
1.618 +/**
1.619 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0004
1.620 + @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.621 +*/
1.622 +/**
1.623 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0005
1.624 + @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.625 +*/
1.626 +/**
1.627 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0006
1.628 + @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.629 +*/
1.630 +/**
1.631 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0007
1.632 + @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.633 +*/
1.634 +/**
1.635 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0008
1.636 + @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.637 +*/
1.638 +/**
1.639 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDAT_CREATE-0009
1.640 + @SYMTestCaseDesc CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.641 +*/
1.642 +
1.643 + //CREATE THE SWICERTSTORE FROM THE HUMAN READABLE TEXT INPUT
1.644 + //Ex: certapp --hcertclients=t_certclients_0.txt --hswicertstore=t_swicertstore_0.txt --out --bswicertstore=swicertstore_x.dat
1.645 + stringstream strArg1, strArg2, strArg3, strArg4, strArg5;
1.646 + strArg1 <<"--hswicertstore=SDP-Security_Tools-CertApp-SWIDAT_000" <<num_tests << ".txt" ; //--hswicertstore=t_cacerts_x.txt
1.647 +
1.648 + strArg2<< "--bswicertstore=SDP-Security_Tools-CertApp-SWIDAT_000" <<num_tests <<".dat"; //--bswicertstore=swicertstore.dat
1.649 + cout <<"string value is " << strArg2.str().c_str() << endl;
1.650 +
1.651 + strArg3<< "--hcertclients=SDP-Security_Tools-CertApp-CCDAT_0000.txt";
1.652 + cout <<"string value is " << strArg3.str().c_str() << endl;
1.653 +
1.654 + string argument1, argument2, argument3, argument4, argument5;
1.655 + const char *argv_certclient[4];
1.656 +
1.657 + argument1 = strArg1.str().c_str();
1.658 + argument3 = strArg3.str().c_str();
1.659 +
1.660 + argv_certclient[0] = argument3.c_str(); //--hcertclients=t_certclients_0.txt
1.661 + argv_certclient[1] = argument1.c_str(); //--hswicertstore=t_swicertstore_
1.662 + argv_certclient[2] = "--out";
1.663 + argument2 = strArg2.str().c_str();
1.664 + argv_certclient[3] = argument2.c_str(); //--bswicertstore=swicertstore_x.dat
1.665 +
1.666 + char *argument_ptr[4];
1.667 +
1.668 + for(int j=0; j<argCount4; j++)
1.669 + {
1.670 + cout << "Value in argv_certclient " << j << "is " <<argv_certclient[j] <<endl;
1.671 + }
1.672 +
1.673 + char **argv;
1.674 + for(int n = 0; n<argCount4; n++)
1.675 + {
1.676 + argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
1.677 + argv = argument_ptr;
1.678 + }
1.679 +
1.680 + testCaseType.str("SEC-TOOLS-CERTAPP-SWIDAT_CREATE");
1.681 + RunCertAppTool(argCount4, argv,swiCertStoreFileName, testCaseType, num_tests);
1.682 +
1.683 +/**
1.684 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0000
1.685 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.686 +*/
1.687 +/**
1.688 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0001
1.689 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.690 +*/
1.691 +/**
1.692 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0002
1.693 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.694 +*/
1.695 +/**
1.696 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0003
1.697 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.698 +*/
1.699 +/**
1.700 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0004
1.701 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.702 +*/
1.703 +/**
1.704 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0005
1.705 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.706 +*/
1.707 +/**
1.708 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0006
1.709 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.710 +*/
1.711 +/**
1.712 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0007
1.713 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.714 +*/
1.715 +/**
1.716 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0008
1.717 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.718 +*/
1.719 +/**
1.720 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT-0009
1.721 + @SYMTestCaseDesc AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.722 +*/
1.723 +
1.724 + //AUGMENT THE CACERT STORE WITH EXTRA INFORMATION
1.725 + //certapp --hswicertstore=tAugment_swicertstore_x.txt --bswicertstore=swicertstore_x.dat --out --bswicertstore=aug_swicertstore_x.dat
1.726 + stringstream augFileName, textDumpFileName;
1.727 + augFileName << "SDP-Security_Tools-CertApp-SWIAUG_000" << num_tests <<".dat";
1.728 + strArg4<<"--bswicertstore=SDP-Security_Tools-CertApp-SWIAUG_000" << num_tests << ".dat";
1.729 + argument4 = strArg4.str();
1.730 + argv_certclient[0] = "--hswicertstore=tswi_Augment.txt"; //--hswicertstore=tAugment_swicertstore_x.txt
1.731 + argv_certclient[1] = argv_certclient[3]; //--bswicertstore=swicertstore_x.dat
1.732 + argv_certclient[2] = "--out";
1.733 + argv_certclient[3] = argument4.c_str(); //--bswicertstore=aug_swicertstore_x.dat
1.734 + char **argv1;
1.735 + for(int x = 0; x<argCount4; x++)
1.736 + {
1.737 + argument_ptr[x] = const_cast<char*>(argv_certclient[x]);
1.738 + argv1 = argument_ptr;
1.739 + }
1.740 +
1.741 + testCaseType.str("SEC-TOOLS-CERTAPP-SWIAUG_AUGMENT");
1.742 + RunCertAppTool(argCount4, argv1, augFileName, testCaseType, num_tests);
1.743 +
1.744 +/**
1.745 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0000
1.746 + @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.747 +*/
1.748 +/**
1.749 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0001
1.750 + @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.751 +*/
1.752 +/**
1.753 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0002
1.754 + @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.755 +*/
1.756 +/**
1.757 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0003
1.758 + @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.759 +*/
1.760 +/**
1.761 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0004
1.762 + @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.763 +*/
1.764 +/**
1.765 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0005
1.766 + @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.767 +*/
1.768 +/**
1.769 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0006
1.770 + @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.771 +*/
1.772 +/**
1.773 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0007
1.774 + @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.775 +*/
1.776 +/**
1.777 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0008
1.778 + @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.779 +*/
1.780 +/**
1.781 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIDUMP_DUMP-0009
1.782 + @SYMTestCaseDesc DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.783 +*/
1.784 +
1.785 + //DUMP THE SWI CERTSTORE TO HUMAN READABLE FORMAT
1.786 + textDumpFileName << "SDP-Security_Tools-CertApp-SWIDUMP_000" <<num_tests << ".txt";
1.787 + argv_certclient[0] = argv_certclient[3];
1.788 + argv_certclient[1] = "--out";
1.789 + strArg5<< "--hswicertstore=SDP-Security_Tools-CertApp-SWIDUMP_000" <<num_tests << ".txt";
1.790 + argument5= strArg5.str().c_str();
1.791 + argv_certclient[2] = argument5.c_str();
1.792 +
1.793 + char ** argv2;
1.794 + for(int k = 0; k<argCount3; k++)
1.795 + {
1.796 + argument_ptr[k] = const_cast<char*>(argv_certclient[k]);
1.797 + argv2 = argument_ptr;
1.798 + }
1.799 +
1.800 + testCaseType.str("SEC-TOOLS-CERTAPP-SWIDUMP_DUMP");
1.801 + RunCertAppToolForStoreDump(argCount3, argv2, textDumpFileName, testCaseType, num_tests);
1.802 + }
1.803 +
1.804 + //Test with unicode filename
1.805 + TestWithUnicodFileName();
1.806 +
1.807 + //create empty config file
1.808 + TestsWithEmptyConfigFile();
1.809 +
1.810 + //Test case to test for different file formats
1.811 + TestsWithEncodedFileFormats();
1.812 +
1.813 + //Test case for REQ10313 to check decode/encode of stores
1.814 + TestToDecodeAndEncodeStore();
1.815 +
1.816 + //Test case for REQ10314 - reviewing aggregate certificate database
1.817 + TestToReviewingAggregateStore();
1.818 +
1.819 + //Test cases for BAD Params
1.820 +/**
1.821 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0000
1.822 + @SYMTestCaseDesc Create bad certclient config files
1.823 +*/
1.824 +/**
1.825 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0001
1.826 + @SYMTestCaseDesc Create bad certclient config files
1.827 +*/
1.828 +/**
1.829 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATEE-0002
1.830 + @SYMTestCaseDesc Create bad certclient config files
1.831 +*/
1.832 +/**
1.833 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0003
1.834 + @SYMTestCaseDesc Create bad certclient config files
1.835 +*/
1.836 +/**
1.837 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0004
1.838 + @SYMTestCaseDesc Create bad certclient config files
1.839 +*/
1.840 +/**
1.841 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0005
1.842 + @SYMTestCaseDesc Create bad certclient config files
1.843 +*/
1.844 +/**
1.845 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0006
1.846 + @SYMTestCaseDesc Create bad certclient config files
1.847 +*/
1.848 +/**
1.849 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0007
1.850 + @SYMTestCaseDesc Create bad certclient config files
1.851 +*/
1.852 +/**
1.853 + @SYMTestCaseID SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE-0008
1.854 + @SYMTestCaseDesc Create bad certclient config files
1.855 +*/
1.856 + //create certclient config files
1.857 + testCaseType.str("SEC-TOOLS-CERTAPP-CCBADPARAMS_CREATE");
1.858 + testCaseIndex = 0;
1.859 + for(num_tests =0; num_tests<3; num_tests++)
1.860 + {
1.861 + stringstream badCertClientsFileName;
1.862 + badCertClientsFileName << "SDP-Security_Tools-CertApp-CCBadParams-000"<<num_tests;
1.863 + BadFileCertClientsTests(badCertClientsFileName,num_tests,testCaseType,testCaseIndex);
1.864 + } //End of bad params for cerclients
1.865 +
1.866 +/**
1.867 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0000
1.868 + @SYMTestCaseDesc Create bad config files for file certstore
1.869 +*/
1.870 +/**
1.871 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0001
1.872 + @SYMTestCaseDesc Create bad config files for file certstore
1.873 +*/
1.874 +/**
1.875 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0002
1.876 + @SYMTestCaseDesc Create bad config files for file certstore
1.877 +*/
1.878 +/**
1.879 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0003
1.880 + @SYMTestCaseDesc Create bad config files for file certstore
1.881 +*/
1.882 +/**
1.883 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0004
1.884 + @SYMTestCaseDesc Create bad config files for file certstore
1.885 +*/
1.886 +/**
1.887 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0005
1.888 + @SYMTestCaseDesc Create bad config files for file certstore
1.889 +*/
1.890 +/**
1.891 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0006
1.892 + @SYMTestCaseDesc Create bad config files for file certstore
1.893 +*/
1.894 +/**
1.895 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0007
1.896 + @SYMTestCaseDesc Create bad config files for file certstore
1.897 +*/
1.898 +/**
1.899 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0008
1.900 + @SYMTestCaseDesc Create bad config files for file certstore
1.901 +*/
1.902 +/**
1.903 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0009
1.904 + @SYMTestCaseDesc Create bad config files for file certstore
1.905 +*/
1.906 +/**
1.907 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0010
1.908 + @SYMTestCaseDesc Create bad config files for file certstore
1.909 +*/
1.910 +/**
1.911 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0011
1.912 + @SYMTestCaseDesc Create bad config files for file certstore
1.913 +*/
1.914 +/**
1.915 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0012
1.916 + @SYMTestCaseDesc Create bad config files for file certstore
1.917 +*/
1.918 +/**
1.919 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0013
1.920 + @SYMTestCaseDesc Create bad config files for file certstore
1.921 +*/
1.922 +/**
1.923 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0014
1.924 + @SYMTestCaseDesc Create bad config files for file certstore
1.925 +*/
1.926 +/**
1.927 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0015
1.928 + @SYMTestCaseDesc Create bad config files for file certstore
1.929 +*/
1.930 +/**
1.931 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0016
1.932 + @SYMTestCaseDesc Create bad config files for file certstore
1.933 +*/
1.934 +/**
1.935 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0017
1.936 + @SYMTestCaseDesc Create bad config files for file certstore
1.937 +*/
1.938 +/**
1.939 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0018
1.940 + @SYMTestCaseDesc Create bad config files for file certstore
1.941 +*/
1.942 +/**
1.943 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0019
1.944 + @SYMTestCaseDesc Create bad config files for file certstore
1.945 +*/
1.946 +/**
1.947 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0020
1.948 + @SYMTestCaseDesc Create bad config files for file certstore
1.949 +*/
1.950 +/**
1.951 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0021
1.952 + @SYMTestCaseDesc Create bad config files for file certstore
1.953 +*/
1.954 +/**
1.955 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0022
1.956 + @SYMTestCaseDesc Create bad config files for file certstore
1.957 +*/
1.958 +/**
1.959 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0023
1.960 + @SYMTestCaseDesc Create bad config files for file certstore
1.961 +*/
1.962 +/**
1.963 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0024
1.964 + @SYMTestCaseDesc Create bad config files for file certstore
1.965 +*/
1.966 +/**
1.967 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0025
1.968 + @SYMTestCaseDesc Create bad config files for file certstore
1.969 +*/
1.970 +/**
1.971 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE-0026
1.972 + @SYMTestCaseDesc Create bad config files for file certstore
1.973 +*/
1.974 + //create bad config files for file certstore - cacerts.dat
1.975 + testCaseType.str("SEC-TOOLS-CERTAPP-FILEBADPARAMS_CREATE");
1.976 + testCaseIndex = 0;
1.977 + for(num_tests = 0; num_tests<KFileArrayIndex+1; num_tests++)
1.978 + {
1.979 + stringstream badCaCertsFileName;
1.980 + badCaCertsFileName << "SDP-Security_Tools-CertApp-FileBadParams-000"<<num_tests;
1.981 + BadFileCaCertTests(badCaCertsFileName,num_tests,testCaseType,testCaseIndex);
1.982 + }
1.983 +
1.984 +/**
1.985 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0000
1.986 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.987 +*/
1.988 +/**
1.989 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0001
1.990 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.991 +*/
1.992 +/**
1.993 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0002
1.994 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.995 +*/
1.996 +/**
1.997 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0003
1.998 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.999 +*/
1.1000 +/**
1.1001 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0004
1.1002 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1003 +*/
1.1004 +/**
1.1005 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0005
1.1006 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1007 +*/
1.1008 +/**
1.1009 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0006
1.1010 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1011 +*/
1.1012 +/**
1.1013 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0007
1.1014 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1015 +*/
1.1016 +/**
1.1017 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0008
1.1018 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1019 +*/
1.1020 +/**
1.1021 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0009
1.1022 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1023 +*/
1.1024 +/**
1.1025 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0010
1.1026 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1027 +*/
1.1028 +/**
1.1029 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0011
1.1030 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1031 +*/
1.1032 +/**
1.1033 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0012
1.1034 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1035 +*/
1.1036 +/**
1.1037 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0013
1.1038 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1039 +*/
1.1040 +/**
1.1041 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0014
1.1042 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1043 +*/
1.1044 +/**
1.1045 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0015
1.1046 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1047 +*/
1.1048 +/**
1.1049 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0016
1.1050 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1051 +*/
1.1052 +/**
1.1053 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0017
1.1054 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1055 +*/
1.1056 +/**
1.1057 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0018
1.1058 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1059 +*/
1.1060 +/**
1.1061 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0019
1.1062 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1063 +*/
1.1064 +/**
1.1065 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0020
1.1066 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1067 +*/
1.1068 +/**
1.1069 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0021
1.1070 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1071 +*/
1.1072 +/**
1.1073 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0022
1.1074 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1075 +*/
1.1076 +/**
1.1077 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0023
1.1078 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1079 +*/
1.1080 +/**
1.1081 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0024
1.1082 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1083 +*/
1.1084 +/**
1.1085 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0025
1.1086 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1087 +*/
1.1088 +/**
1.1089 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0026
1.1090 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1091 +*/
1.1092 +/**
1.1093 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0027
1.1094 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1095 +*/
1.1096 +/**
1.1097 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0028
1.1098 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1099 +*/
1.1100 +/**
1.1101 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0029
1.1102 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1103 +*/
1.1104 +/**
1.1105 + @SYMTestCaseID SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE-0030
1.1106 + @SYMTestCaseDesc Create config files with invalid values swi certstore
1.1107 +*/
1.1108 + //create config files with invalid values swi certstore
1.1109 + testCaseType.str("SEC-TOOLS-CERTAPP-SWIBADPARAMS_CREATE");
1.1110 + testCaseIndex = 0;
1.1111 + for(num_tests = 0; num_tests<KSwiBadcertIndex; num_tests++)
1.1112 + {
1.1113 + stringstream badSwiCertsFileName;
1.1114 + badSwiCertsFileName << "SDP-Security_Tools-CertApp-SwiBadParams-000"<<num_tests;
1.1115 + BadSwiCertTests(badSwiCertsFileName,num_tests,testCaseType,testCaseIndex);
1.1116 + }
1.1117 +
1.1118 +/**
1.1119 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0001
1.1120 + @SYMTestCaseDesc Initializing a CUnifiedCertStore
1.1121 +*/
1.1122 +/**
1.1123 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0002
1.1124 + @SYMTestCaseDesc Get the list of certificates
1.1125 +*/
1.1126 +/**
1.1127 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0003
1.1128 + @SYMTestCaseDesc Get certificate details
1.1129 +*/
1.1130 +/**
1.1131 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0004
1.1132 + @SYMTestCaseDesc Get Trust certificate
1.1133 +*/
1.1134 +/**
1.1135 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0005
1.1136 + @SYMTestCaseDesc Get applications
1.1137 +*/
1.1138 +/**
1.1139 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0006
1.1140 + @SYMTestCaseDesc Retrieve Certificate
1.1141 +*/
1.1142 +/**
1.1143 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0007
1.1144 + @SYMTestCaseDesc Get certificate details
1.1145 +*/
1.1146 +/**
1.1147 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0008
1.1148 + @SYMTestCaseDesc Get Trust certificate
1.1149 +*/
1.1150 +/**
1.1151 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0009
1.1152 + @SYMTestCaseDesc Get applications
1.1153 +*/
1.1154 +/**
1.1155 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0010
1.1156 + @SYMTestCaseDesc Retrieve Certificate
1.1157 +*/
1.1158 +/**
1.1159 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0011
1.1160 + @SYMTestCaseDesc Get certificate details
1.1161 +*/
1.1162 +/**
1.1163 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0012
1.1164 + @SYMTestCaseDesc Get Trust certificate
1.1165 +*/
1.1166 +/**
1.1167 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0013
1.1168 + @SYMTestCaseDesc Get applications
1.1169 +*/
1.1170 +/**
1.1171 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0014
1.1172 + @SYMTestCaseDesc Retrieve Certificate
1.1173 +*/
1.1174 +/**
1.1175 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0015
1.1176 + @SYMTestCaseDesc Get certificate details
1.1177 +*/
1.1178 +/**
1.1179 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0016
1.1180 + @SYMTestCaseDesc Get Trust certificate
1.1181 +*/
1.1182 +/**
1.1183 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0017
1.1184 + @SYMTestCaseDesc Get applications
1.1185 +*/
1.1186 +/**
1.1187 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0018
1.1188 + @SYMTestCaseDesc Retrieve Certificate
1.1189 +*/
1.1190 +/**
1.1191 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0019
1.1192 + @SYMTestCaseDesc Get certificate details
1.1193 +*/
1.1194 +/**
1.1195 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0020
1.1196 + @SYMTestCaseDesc Get Trust certificate
1.1197 +*/
1.1198 +/**
1.1199 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0021
1.1200 + @SYMTestCaseDesc Get applications
1.1201 +*/
1.1202 +/**
1.1203 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0022
1.1204 + @SYMTestCaseDesc Retrieve Certificate
1.1205 +*/
1.1206 +/**
1.1207 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0023
1.1208 + @SYMTestCaseDesc Get certificate details
1.1209 +*/
1.1210 +/**
1.1211 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0024
1.1212 + @SYMTestCaseDesc Get Trust certificate
1.1213 +*/
1.1214 +/**
1.1215 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0025
1.1216 + @SYMTestCaseDesc Get applications
1.1217 +*/
1.1218 +/**
1.1219 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCACERT-0026
1.1220 + @SYMTestCaseDesc Retrieve Certificate
1.1221 +*/
1.1222 + //Code to create Script files for the file/sw/certclients to run validation tests on emulator
1.1223 + //create script file for the symbian test harness- for cacerts.dat
1.1224 + testCaseType.str("SEC-TOOLS-CERTAPP-GOODCACERT");
1.1225 + testCaseIndex = 0;
1.1226 + for(num_tests = 0; num_tests<1; num_tests++)
1.1227 + {
1.1228 + stringstream emu_CacertsFileName;
1.1229 + emu_CacertsFileName << "SDP-Security_Tools-CertApp-FILEDAT-EMU0"<<num_tests<<".script";
1.1230 + GenerateGoodCaCertsTestScripts(emu_CacertsFileName,testCaseType,testCaseIndex);
1.1231 + }
1.1232 +
1.1233 +/**
1.1234 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0001
1.1235 + @SYMTestCaseDesc Initialise a CertClientStore
1.1236 +*/
1.1237 +/**
1.1238 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0002
1.1239 + @SYMTestCaseDesc Get Count of Applications
1.1240 +*/
1.1241 +/**
1.1242 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0003
1.1243 + @SYMTestCaseDesc Getting the application list
1.1244 +*/
1.1245 +/**
1.1246 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0004
1.1247 + @SYMTestCaseDesc Get application with given id
1.1248 +*/
1.1249 +/**
1.1250 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0005
1.1251 + @SYMTestCaseDesc Get application with given id
1.1252 +*/
1.1253 +/**
1.1254 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0006
1.1255 + @SYMTestCaseDesc Get application with given id
1.1256 +*/
1.1257 +/**
1.1258 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0007
1.1259 + @SYMTestCaseDesc Get application with given id
1.1260 +*/
1.1261 +/**
1.1262 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODCERT-0008
1.1263 + @SYMTestCaseDesc Destroy the manager
1.1264 +*/
1.1265 + //create script file for certclients.dat
1.1266 + testCaseType.str("SEC-TOOLS-CERTAPP-GOODCERT");
1.1267 + testCaseIndex = 0;
1.1268 + for(num_tests = 0; num_tests<1; num_tests++)
1.1269 + {
1.1270 + stringstream emu_CertClientsFileName;
1.1271 + emu_CertClientsFileName << "SDP-Security_Tools-CertApp-CCDAT-EMU0"<<num_tests<<".script";
1.1272 + GenerateGoodCertClientTestScripts(emu_CertClientsFileName,testCaseType,testCaseIndex);
1.1273 + }
1.1274 +
1.1275 +/**
1.1276 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0001
1.1277 + @SYMTestCaseDesc Initialise a SWICertStore
1.1278 +*/
1.1279 +/**
1.1280 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0002
1.1281 + @SYMTestCaseDesc Get the list of certificates
1.1282 +*/
1.1283 +/**
1.1284 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0003
1.1285 + @SYMTestCaseDesc Get the systemupgrade flag
1.1286 +*/
1.1287 +/**
1.1288 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0004
1.1289 + @SYMTestCaseDesc Retrieve Certificate
1.1290 +*/
1.1291 +/**
1.1292 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0005
1.1293 + @SYMTestCaseDesc Get applications
1.1294 +*/
1.1295 +/**
1.1296 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0006
1.1297 + @SYMTestCaseDesc Get Trust certificate
1.1298 +*/
1.1299 +/**
1.1300 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0007
1.1301 + @SYMTestCaseDesc Get the capabilities
1.1302 +*/
1.1303 +/**
1.1304 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0008
1.1305 + @SYMTestCaseDesc Get the mandatory flag
1.1306 +*/
1.1307 +/**
1.1308 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0009
1.1309 + @SYMTestCaseDesc Get the systemupgrade flag
1.1310 +*/
1.1311 +/**
1.1312 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0010
1.1313 + @SYMTestCaseDesc Retrieve Certificate
1.1314 +*/
1.1315 +/**
1.1316 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0011
1.1317 + @SYMTestCaseDesc Get applications
1.1318 +*/
1.1319 +/**
1.1320 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0012
1.1321 + @SYMTestCaseDesc Get Trust certificate
1.1322 +*/
1.1323 +/**
1.1324 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0013
1.1325 + @SYMTestCaseDesc Get the capabilities
1.1326 +*/
1.1327 +/**
1.1328 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0014
1.1329 + @SYMTestCaseDesc Get the mandatory flag
1.1330 +*/
1.1331 +/**
1.1332 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0015
1.1333 + @SYMTestCaseDesc Get the systemupgrade flag
1.1334 +*/
1.1335 +/**
1.1336 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0016
1.1337 + @SYMTestCaseDesc Retrieve Certificate
1.1338 +*/
1.1339 +/**
1.1340 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0017
1.1341 + @SYMTestCaseDesc Get applications
1.1342 +*/
1.1343 +/**
1.1344 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0018
1.1345 + @SYMTestCaseDesc Get Trust certificate
1.1346 +*/
1.1347 +/**
1.1348 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0019
1.1349 + @SYMTestCaseDesc Get the capabilities
1.1350 +*/
1.1351 +/**
1.1352 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0020
1.1353 + @SYMTestCaseDesc Get the mandatory flag
1.1354 +*/
1.1355 +/**
1.1356 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0021
1.1357 + @SYMTestCaseDesc Get the systemupgrade flag
1.1358 +*/
1.1359 +/**
1.1360 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0022
1.1361 + @SYMTestCaseDesc Retrieve Certificate
1.1362 +*/
1.1363 +/**
1.1364 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0023
1.1365 + @SYMTestCaseDesc Get applications
1.1366 +*/
1.1367 +/**
1.1368 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0024
1.1369 + @SYMTestCaseDesc Get Trust certificate
1.1370 +*/
1.1371 +/**
1.1372 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0025
1.1373 + @SYMTestCaseDesc Get the capabilities
1.1374 +*/
1.1375 +/**
1.1376 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0026
1.1377 + @SYMTestCaseDesc Get the mandatory flag
1.1378 +*/
1.1379 +/**
1.1380 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0027
1.1381 + @SYMTestCaseDesc Get the systemupgrade flag
1.1382 +*/
1.1383 +/**
1.1384 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0028
1.1385 + @SYMTestCaseDesc Retrieve Certificate
1.1386 +*/
1.1387 +/**
1.1388 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0029
1.1389 + @SYMTestCaseDesc Get applications
1.1390 +*/
1.1391 +/**
1.1392 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0030
1.1393 + @SYMTestCaseDesc Get Trust certificate
1.1394 +*/
1.1395 +/**
1.1396 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0031
1.1397 + @SYMTestCaseDesc Get the capabilities
1.1398 +*/
1.1399 +/**
1.1400 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0032
1.1401 + @SYMTestCaseDesc Get the mandatory flag
1.1402 +*/
1.1403 +/**
1.1404 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0033
1.1405 + @SYMTestCaseDesc Get the systemupgrade flag
1.1406 +*/
1.1407 +/**
1.1408 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0034
1.1409 + @SYMTestCaseDesc Retrieve Certificate
1.1410 +*/
1.1411 +/**
1.1412 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0035
1.1413 + @SYMTestCaseDesc Get applications
1.1414 +*/
1.1415 +/**
1.1416 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0036
1.1417 + @SYMTestCaseDesc Get Trust certificate
1.1418 +*/
1.1419 +/**
1.1420 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0037
1.1421 + @SYMTestCaseDesc Get the capabilities
1.1422 +*/
1.1423 +/**
1.1424 + @SYMTestCaseID SEC-TOOLS-CERTAPP-GOODSWICERT-0038
1.1425 + @SYMTestCaseDesc Get the mandatory flag
1.1426 +*/
1.1427 + //create script file for the symbian test harness- for swicerts.dat
1.1428 + testCaseType.str("SEC-TOOLS-CERTAPP-GOODSWICERT");
1.1429 + testCaseIndex = 0;
1.1430 + for(num_tests = 0; num_tests<1; num_tests++)
1.1431 + {
1.1432 + stringstream emu_SwiCertsFileName;
1.1433 + emu_SwiCertsFileName << "SDP-Security_Tools-CertApp-SWIDAT-EMU0"<<num_tests<<".script";
1.1434 + GenerateGoodSwiCertTestScripts(emu_SwiCertsFileName,testCaseType,testCaseIndex);
1.1435 + }
1.1436 +
1.1437 + int testCaseCount = failCount+passCount;
1.1438 + cout << "\nTestrun result is :: " << failCount <<" tests failed out of " << testCaseCount <<endl;
1.1439 + file << "\n\nTotal number of test cases run is -> " << testCaseCount << endl;
1.1440 + file << failCount << " tests failed out of " << testCaseCount <<endl;
1.1441 + file.close();
1.1442 + return 0;
1.1443 +}
1.1444 +
1.1445 +
1.1446 +
1.1447 +/**
1.1448 +Function to create input file for augmenting the existing store
1.1449 +*/
1.1450 +void CreateFileToAugmentStore()
1.1451 +{
1.1452 + stringstream swifilename, cacertsfilename, certclientName;
1.1453 + swifilename <<"tswi_Augment.txt";
1.1454 + cacertsfilename<< "tfile_Augment.txt";
1.1455 + certclientName << "tCertClient_Augment.txt";
1.1456 +
1.1457 + SwiCertStoreConfigWriter swiwriter(swifilename);
1.1458 + swiwriter.WriteExtraSwiEntry();
1.1459 +
1.1460 + FileCertStoreConfigWriter filewriter(cacertsfilename);
1.1461 + filewriter.WriteExtraFileEntry();
1.1462 +
1.1463 + FileCertClientConfigWriter certclientwriter(certclientName);
1.1464 + certclientwriter.WriteExtraCertClientEntry();
1.1465 +}
1.1466 +
1.1467 +
1.1468 +/**
1.1469 + @SYMTestCaseID SEC-TOOLS-CERTAPP-UNICODEFILE_CREATE-0000
1.1470 + @SYMTestCaseDesc Check the certapp tool for unicode named config file
1.1471 +*/
1.1472 +/**
1.1473 +Test case to check the certapp tool for unicode named config file
1.1474 +Testing with only one unicode named config file for now
1.1475 +*/
1.1476 +void TestWithUnicodFileName()
1.1477 +{
1.1478 + //unicode file name in utf8 format
1.1479 + 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";
1.1480 + fstream fileHandle;
1.1481 +
1.1482 + OpenUtf8FStreamForWrite(fileHandle,filename);
1.1483 +
1.1484 + char * buffer;
1.1485 + long size;
1.1486 +
1.1487 + ifstream infile ("SDP-Security_Tools-CertApp-CCDAT_0000.txt",ifstream::binary);
1.1488 + // get size of file
1.1489 + infile.seekg(0,ifstream::end);
1.1490 + size=infile.tellg();
1.1491 + infile.seekg(0);
1.1492 + // allocate memory for file content
1.1493 + buffer = new char [size];
1.1494 + // read content of infile
1.1495 + infile.read (buffer,size);
1.1496 + // write to outfile
1.1497 + fileHandle.write (buffer,size);
1.1498 +
1.1499 + // release dynamically-allocated memory
1.1500 + delete[] buffer;
1.1501 + fileHandle.close();
1.1502 + infile.close();
1.1503 +
1.1504 + //create argument list for certapp
1.1505 + const char *argv_certclient[3];
1.1506 + stringstream str1;
1.1507 + str1 <<"--hcertclients=" << filename;
1.1508 + string string1;
1.1509 + string1 = str1.str();
1.1510 +
1.1511 + argv_certclient[0] = string1.c_str();
1.1512 + argv_certclient[1] = "--out";
1.1513 + argv_certclient[2] = "--bcertclients=SDP-Security_Tools-CertApp-UNI00.dat";
1.1514 +
1.1515 + char **argv;
1.1516 + char *argument_ptr[3];
1.1517 + int argCount=3;
1.1518 + for(int n = 0; n<argCount; n++)
1.1519 + {
1.1520 + argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
1.1521 + argv = argument_ptr;
1.1522 + }
1.1523 +
1.1524 + for(int i =0; i<argCount; i++)
1.1525 + {
1.1526 + cout << "Arguments Being passed to the RunCertApp tool is " << argv[i] << endl;
1.1527 + }
1.1528 +
1.1529 + int ret = RunCertApp(progress, errors, argCount, argv);
1.1530 + cout << "Return value from certapp is " << ret <<endl;
1.1531 + stringstream logging;
1.1532 + if(ret!= 0)
1.1533 + {
1.1534 + failCount++;
1.1535 + logging << "Error in creating store using the unicode file name config file " << filename << " and result is " << ret << " Fail";
1.1536 + }
1.1537 + else
1.1538 + {
1.1539 + passCount++;
1.1540 + logging << "No Error in creating store using the unicode file named config file " << filename << " and result is " << ret << " Pass";
1.1541 + }
1.1542 +
1.1543 + stringstream testCaseType("SEC-TOOLS-CERTAPP-UNICODEFILE_CREATE");
1.1544 + writeTMSResult(file, testCaseType, 0, ret==0, logging);
1.1545 +}
1.1546 +
1.1547 +/**
1.1548 +Generate Certclient config files
1.1549 +*/
1.1550 +void GoodFileCertClientsTests(const stringstream &aFilename)
1.1551 +{
1.1552 + FileCertClientConfigWriter filewriter(aFilename);
1.1553 + const char *certclientPtr1;
1.1554 + const char *certclientPtr2;
1.1555 + for(int i = 0; i<KAppUidIndex ; i++)
1.1556 + {
1.1557 + certclientPtr1 = goodAppNames[i];
1.1558 + certclientPtr2 = gooduid_array[i];
1.1559 + filewriter.WriteCertClientUid(certclientPtr2);
1.1560 + filewriter.WriteCertClientName(certclientPtr1);
1.1561 + }
1.1562 +}
1.1563 +
1.1564 +
1.1565 +/**
1.1566 +Generate good config files for cacerts
1.1567 +*/
1.1568 +void GoodFileCaCertTests(const stringstream &aFilename ,int aValue)
1.1569 +{
1.1570 + FileCertStoreConfigWriter fileCertWriter(aFilename);
1.1571 + const char **cacertPtr;
1.1572 + const char **label = filecert_array[0];
1.1573 + switch(aValue)
1.1574 + {
1.1575 + case 0:
1.1576 + {
1.1577 + // Tests for GoodLabels
1.1578 + for(label = filecert_array[aValue]; *label; ++label)
1.1579 + {
1.1580 +
1.1581 + fileCertWriter.WriteFileEntry(*label);
1.1582 + }
1.1583 + break;
1.1584 + }
1.1585 + case 1:
1.1586 + {
1.1587 + // Tests for GoodDeletables
1.1588 + for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1.1589 + {
1.1590 + fileCertWriter.WriteFileEntry(*label,*cacertPtr);
1.1591 + label++;
1.1592 + }
1.1593 + break;
1.1594 + }
1.1595 + case 2:
1.1596 + {
1.1597 + //Tests for GoodFormats
1.1598 + for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1.1599 + {
1.1600 + fileCertWriter.WriteFileEntry(*label,0,*cacertPtr);
1.1601 + label++;
1.1602 + }
1.1603 + break;
1.1604 + }
1.1605 + case 3:
1.1606 + {
1.1607 + //Tests for GoodCertOwnerTypes
1.1608 + for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1.1609 + {
1.1610 + fileCertWriter.WriteFileEntry(*label,0,0,*cacertPtr);
1.1611 + label++;
1.1612 + }
1.1613 + break;
1.1614 + }
1.1615 + case 4:
1.1616 + {
1.1617 + //Tests for GoodSubjectKeyIds
1.1618 + for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1.1619 + {
1.1620 + fileCertWriter.WriteFileEntry(*label,0,0,0,*cacertPtr);
1.1621 + label++;
1.1622 + }
1.1623 + break;
1.1624 + }
1.1625 + case 5:
1.1626 + {
1.1627 + //Tests for GoodIssuerKeyIds
1.1628 + for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1.1629 + {
1.1630 + fileCertWriter.WriteFileEntry(*label,0,0,0,0,*cacertPtr);
1.1631 + label++;
1.1632 + }
1.1633 + break;
1.1634 + }
1.1635 + case 6:
1.1636 + {
1.1637 + //Tests for GoodApplications
1.1638 + for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1.1639 + {
1.1640 + fileCertWriter.WriteFileEntry(*label,0,0,0,0,0,*cacertPtr);
1.1641 + label++;
1.1642 + }
1.1643 + break;
1.1644 + }
1.1645 + case 7:
1.1646 + {
1.1647 + //Tests for GoodTrusteds
1.1648 + for(cacertPtr = filecert_array[aValue]; *cacertPtr; ++cacertPtr)
1.1649 + {
1.1650 + fileCertWriter.WriteFileEntry(*label,0,0,0,0,0,0,*cacertPtr);
1.1651 + label++;
1.1652 + }
1.1653 + break;
1.1654 + }
1.1655 +
1.1656 + case 8:
1.1657 + {
1.1658 + //Test for PEM support
1.1659 + const char* datafilename = "\"root5ca.pem\"";
1.1660 + fileCertWriter.WriteFileEntry(*label,0,0,0,0,0,0,0,datafilename);
1.1661 + }
1.1662 + break;
1.1663 +
1.1664 + default:
1.1665 + break;
1.1666 + }
1.1667 +}
1.1668 +
1.1669 +/**
1.1670 +Generate config file for swicert
1.1671 +*/
1.1672 +void GoodSwiCertTests(const stringstream &aFilename, int aIndex)
1.1673 +{
1.1674 + SwiCertStoreConfigWriter swiWriter(aFilename);
1.1675 + const char **swiPtr1, **swiPtr2;
1.1676 + swiPtr2 = swicert_array[0]; // labels for all scripts
1.1677 + switch(aIndex)
1.1678 + {
1.1679 + case 0:
1.1680 + {
1.1681 + // Tests for GoodLabels
1.1682 + for(swiPtr2=swicert_array[aIndex] ; *swiPtr2; ++swiPtr2)
1.1683 + {
1.1684 + swiWriter.WriteSwiEntry(*swiPtr2);
1.1685 + }
1.1686 + break;
1.1687 + }
1.1688 + case 1:
1.1689 + {
1.1690 + //Tests for GoodFormats
1.1691 + for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1.1692 + {
1.1693 + swiWriter.WriteSwiEntry(*swiPtr2,*swiPtr1);
1.1694 + ++swiPtr2;
1.1695 + }
1.1696 + break;
1.1697 + }
1.1698 + case 2:
1.1699 + {
1.1700 + //Tests for GoodCertOwnerTypes
1.1701 + for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1.1702 + {
1.1703 + swiWriter.WriteSwiEntry(*swiPtr2,0,*swiPtr1);
1.1704 + ++swiPtr2;
1.1705 + }
1.1706 + break;
1.1707 + }
1.1708 + case 3:
1.1709 + {
1.1710 + //Tests for GoodSubjectKeyIds
1.1711 + for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1.1712 + {
1.1713 + swiWriter.WriteSwiEntry(*swiPtr2,0,0,*swiPtr1);
1.1714 + ++swiPtr2;
1.1715 + }
1.1716 + break;
1.1717 + }
1.1718 + case 4:
1.1719 + {
1.1720 + //Tests for GoodIssuerKeyIds
1.1721 + for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1.1722 + {
1.1723 + swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,*swiPtr1);
1.1724 + ++swiPtr2;
1.1725 + }
1.1726 + break;
1.1727 + }
1.1728 + case 5:
1.1729 + {
1.1730 + //Tests for GoodAswiPtr1lications
1.1731 + for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1.1732 + {
1.1733 + swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,0,*swiPtr1);
1.1734 + ++swiPtr2;
1.1735 + }
1.1736 + break;
1.1737 + }
1.1738 + case 6:
1.1739 + {
1.1740 + //Tests for GoodTrusteds
1.1741 + for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1.1742 + {
1.1743 + swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,0,0,*swiPtr1);
1.1744 + ++swiPtr2;
1.1745 + }
1.1746 + break;
1.1747 + }
1.1748 + case 7:
1.1749 + {
1.1750 + //Tests for GoodCapabilities
1.1751 + swiPtr1 = swicert_array[aIndex];
1.1752 + swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,0,0,0,*swiPtr1);
1.1753 + break;
1.1754 + }
1.1755 + case 8:
1.1756 + {
1.1757 + //Tests for sGoodMandatory
1.1758 + for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1.1759 + {
1.1760 + swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,0,0,0,0,*swiPtr1);
1.1761 + ++swiPtr2;
1.1762 + }
1.1763 + break;
1.1764 + }
1.1765 + case 9:
1.1766 + {
1.1767 + //Tests for sGoodSystemUpgrade
1.1768 + for(swiPtr1 = swicert_array[aIndex]; *swiPtr1; ++swiPtr1)
1.1769 + {
1.1770 + swiWriter.WriteSwiEntry(*swiPtr2,0,0,0,0,0,0,0,0,*swiPtr1);
1.1771 + ++swiPtr2;
1.1772 + }
1.1773 + break;
1.1774 + }
1.1775 + default:
1.1776 + break;
1.1777 + }
1.1778 +}
1.1779 +
1.1780 +/**
1.1781 +Generate config files with invalid values for the store
1.1782 +*/
1.1783 +void TestBadConfigFiles(const stringstream &aFilename, bool aBool, stringstream &aTestCaseType, int aTestCaseIndex)
1.1784 +{
1.1785 + // create command line input for cacerts
1.1786 + //Ex:certapp --hcertclients=t_certclients_0.txt --hfilecertstore=t_cacerts_0.txt --out --bfilecertstore=cacerts_x.dat
1.1787 + stringstream strArg1, strArg2, strArg3;
1.1788 + stringstream configFileName;
1.1789 + configFileName <<aFilename.str() << ".txt";
1.1790 + cout << aFilename.str() <<endl;
1.1791 + if(aBool == 0) // file store
1.1792 + {
1.1793 + strArg1 <<"--hfilecertstore="<<aFilename.str() <<".txt";;//--hfilecertstore=t_cacerts_x.txt
1.1794 +
1.1795 + strArg2<< "--bfilecertstore=" << aFilename.str() <<".dat"; //--bfilecertstore=cacerts_x.dat
1.1796 + cout <<"string value is " << strArg2.str().c_str() << endl;
1.1797 + }
1.1798 + else //swi store
1.1799 + {
1.1800 + strArg1 <<"--hswicertstore="<<aFilename.str() <<".txt";;//--hswicertstore=t_cacerts_x.txt
1.1801 +
1.1802 + strArg2<< "--bswicertstore=" << aFilename.str() <<".dat"; //--bswicertstore=cacerts_x.dat
1.1803 + cout <<"string value is " << strArg2.str().c_str() << endl;
1.1804 + }
1.1805 +
1.1806 + strArg3<< "--hcertclients=SDP-Security_Tools-CertApp-CCDAT_0000.txt";
1.1807 + cout <<"string value is " << strArg3.str().c_str() << endl;
1.1808 +
1.1809 + string argument1, argument2, argument3;
1.1810 + const char *argv_certclient[4];
1.1811 +
1.1812 + argument1 = strArg1.str().c_str();
1.1813 + argument3 = strArg3.str().c_str();
1.1814 +
1.1815 + argv_certclient[0] = argument3.c_str(); // --hcertclients=t_certclients_0.txt
1.1816 + argv_certclient[1] = argument1.c_str(); // --hfilecertstore=t_cacerts_x.txt
1.1817 + argv_certclient[2] = "--out"; //--out
1.1818 + argument2 = strArg2.str().c_str();
1.1819 + argv_certclient[3] = argument2.c_str(); //--bfilecertstore=cacerts_x.dat
1.1820 +
1.1821 + char *argument_ptr[4];
1.1822 + int argCount4 = 4;
1.1823 + char **argv;
1.1824 + for(int n = 0; n<argCount4; n++)
1.1825 + {
1.1826 + argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
1.1827 + argv = argument_ptr;
1.1828 + }
1.1829 + RunCertAppToolForBadParams(argCount4, argv, configFileName, aTestCaseType, aTestCaseIndex);
1.1830 +}
1.1831 +
1.1832 +/**
1.1833 +Generate bad config files for cacerts
1.1834 +*/
1.1835 +void BadFileCaCertTests(const stringstream &aFilename ,int aValue, stringstream &aTestCaseType, int &aTestIndex)
1.1836 +{
1.1837 + const char **caCertPtr;
1.1838 + int count = 0;
1.1839 + switch(aValue)
1.1840 + {
1.1841 + case 0:
1.1842 + {
1.1843 + // Tests for BadLabels
1.1844 + for(caCertPtr = badfilecert_array[aValue]; *caCertPtr ; ++caCertPtr )
1.1845 + {
1.1846 + stringstream file1, file2;
1.1847 + file1 << aFilename.str() <<"_"<<count;
1.1848 + file2 << aFilename.str() <<"_"<<count <<".txt";
1.1849 + FileBadCertStoreConfigWriter badcertfileWriter(file2);
1.1850 + badcertfileWriter.WriteFileEntry(*caCertPtr);
1.1851 + TestBadConfigFiles(file1, 0, aTestCaseType, aTestIndex++);
1.1852 + count++;
1.1853 + }
1.1854 + break;
1.1855 + }
1.1856 + case 1:
1.1857 + {
1.1858 + // Tests for BadDeletables
1.1859 + for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1.1860 + {
1.1861 + stringstream file1, file2;
1.1862 + file1 << aFilename.str() <<"_"<<count;
1.1863 + file2 << aFilename.str() <<"_"<<count <<".txt";
1.1864 + FileBadCertStoreConfigWriter badcertfileWriter(file2);
1.1865 + badcertfileWriter.WriteFileEntry(0,*caCertPtr);
1.1866 + TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1.1867 + count++;
1.1868 + }
1.1869 + break;
1.1870 + }
1.1871 + case 2:
1.1872 + {
1.1873 + //Tests for BadFormats
1.1874 + for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1.1875 + {
1.1876 + stringstream file1, file2;
1.1877 + file1 << aFilename.str() <<"_"<<count;
1.1878 + file2 << aFilename.str() <<"_"<<count <<".txt";
1.1879 + FileBadCertStoreConfigWriter badcertfileWriter(file2);
1.1880 + badcertfileWriter.WriteFileEntry(0,0,*caCertPtr);
1.1881 + TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1.1882 + count++;
1.1883 + }
1.1884 + break;
1.1885 + }
1.1886 + case 3:
1.1887 + {
1.1888 + //Tests for BadCertOwnerTypes
1.1889 + for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1.1890 + {
1.1891 + stringstream file1, file2;
1.1892 + file1 << aFilename.str() <<"_"<<count;
1.1893 + file2 << aFilename.str() <<"_"<<count <<".txt";
1.1894 + FileBadCertStoreConfigWriter badcertfileWriter(file2);
1.1895 + badcertfileWriter.WriteFileEntry(0,0,0,*caCertPtr);
1.1896 + TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1.1897 + count++;
1.1898 + }
1.1899 + break;
1.1900 + }
1.1901 + case 4:
1.1902 + {
1.1903 + //Tests for BadSubjectKeyIds
1.1904 + for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1.1905 + {
1.1906 + stringstream file1, file2;
1.1907 + file1 << aFilename.str() <<"_"<<count;
1.1908 + file2 << aFilename.str() <<"_"<<count <<".txt";
1.1909 + FileBadCertStoreConfigWriter badcertfileWriter(file2);
1.1910 + badcertfileWriter.WriteFileEntry(0,0,0,0,*caCertPtr);
1.1911 + TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1.1912 + count++;
1.1913 + }
1.1914 + break;
1.1915 + }
1.1916 + case 5:
1.1917 + {
1.1918 + //Tests for BadIssuerKeyIds
1.1919 + for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1.1920 + {
1.1921 + stringstream file1, file2;
1.1922 + file1 << aFilename.str() <<"_"<<count;
1.1923 + file2 << aFilename.str() <<"_"<<count <<".txt";
1.1924 + FileBadCertStoreConfigWriter badcertfileWriter(file2);
1.1925 + badcertfileWriter.WriteFileEntry(0,0,0,0,0,*caCertPtr);
1.1926 + TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1.1927 + count++;
1.1928 + }
1.1929 + break;
1.1930 + }
1.1931 + case 6:
1.1932 + {
1.1933 + //Tests for BadApplications
1.1934 + caCertPtr = badfilecert_array[aValue];
1.1935 + stringstream file1, file2;
1.1936 + file1 << aFilename.str() <<"_"<<count;
1.1937 + file2 << aFilename.str() <<"_"<<count <<".txt";
1.1938 + FileBadCertStoreConfigWriter badcertfileWriter(file2);
1.1939 + badcertfileWriter.WriteFileEntry(0,0,0,0,0,0,*caCertPtr);
1.1940 + TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1.1941 + break;
1.1942 + }
1.1943 + case 7:
1.1944 + {
1.1945 + //Tests for BadTrusteds
1.1946 + for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1.1947 + {
1.1948 + stringstream file1, file2;
1.1949 + file1 << aFilename.str() <<"_"<<count;
1.1950 + file2 << aFilename.str() <<"_"<<count <<".txt";
1.1951 + FileBadCertStoreConfigWriter badcertfileWriter(file2);
1.1952 + badcertfileWriter.WriteFileEntry(0,0,0,0,0,0,0,*caCertPtr);
1.1953 + TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1.1954 + count++;
1.1955 + }
1.1956 + break;
1.1957 + }
1.1958 + case 8:
1.1959 + {
1.1960 + //Tests for BadDataFileName
1.1961 + for(caCertPtr = badfilecert_array[aValue]; *caCertPtr; ++caCertPtr)
1.1962 + {
1.1963 + stringstream file1, file2;
1.1964 + file1 << aFilename.str() <<"_"<<count;
1.1965 + file2 << aFilename.str() <<"_"<<count <<".txt";
1.1966 + FileBadCertStoreConfigWriter badcertfileWriter(file2);
1.1967 + badcertfileWriter.WriteFileEntry(0,0,0,0,0,0,0,0,*caCertPtr);
1.1968 + TestBadConfigFiles(file1,0,aTestCaseType,aTestIndex++);
1.1969 + count++;
1.1970 + }
1.1971 + break;
1.1972 + }
1.1973 + default:
1.1974 + break;
1.1975 + }
1.1976 +}
1.1977 +
1.1978 +
1.1979 +/**
1.1980 +Generate bad Certclient config files
1.1981 +*/
1.1982 +void BadFileCertClientsTests(const stringstream &aFilename, int aIndex, stringstream &aTestCaseType, int &aTestCaseIndex)
1.1983 +{
1.1984 + FileBadCertClientConfigWriter certfileWriter(aFilename);
1.1985 + const char *certfilePtr1, *certfilePtr2;
1.1986 +
1.1987 + switch(aIndex)
1.1988 + {
1.1989 + case 0:
1.1990 + {
1.1991 + for(int i=0; i<KAppUidIndex; i++) // 4 badUids[] length
1.1992 + {
1.1993 + stringstream file1, file2;
1.1994 + file2 << aFilename.str() << "_" << i ;
1.1995 + file1 << aFilename.str() <<"_"<<i <<".txt";
1.1996 + FileBadCertClientConfigWriter certfileWriter(file1);
1.1997 + certfilePtr1 = goodcertclient_array[0]; // good app name and
1.1998 + certfilePtr2 = badUids[i];
1.1999 + certfileWriter.WriteCertClientUid(certfilePtr2); // bad uid entry
1.2000 + certfileWriter.WriteCertClientName(certfilePtr1);
1.2001 + CertClientBadParamsFuncCall(file2, aTestCaseType, aTestCaseIndex++);
1.2002 + }
1.2003 + break;
1.2004 + }
1.2005 +
1.2006 + case 1:
1.2007 + {
1.2008 + for(int i = 0; i<4 ; i++) // length of badcertclient_array
1.2009 + {
1.2010 + stringstream file1, file2;
1.2011 + file2 << aFilename.str() << "_" << i ;
1.2012 + file1 << aFilename.str() <<"_"<<i <<".txt";
1.2013 + FileBadCertClientConfigWriter certfileWriter(file1);
1.2014 + certfilePtr1 = badcertclient_array[i];
1.2015 + certfilePtr2 = goodUids[0];
1.2016 + certfileWriter.WriteCertClientUid(certfilePtr2);
1.2017 + certfileWriter.WriteCertClientName(certfilePtr1);
1.2018 + CertClientBadParamsFuncCall(file2, aTestCaseType, aTestCaseIndex++);
1.2019 + }
1.2020 + break;
1.2021 + }
1.2022 +
1.2023 + // multiple names mapping to single uid
1.2024 + case 2:
1.2025 + {
1.2026 + stringstream file1;
1.2027 + file1 << aFilename.str() <<".txt";
1.2028 + FileBadCertClientConfigWriter certfileWriter(file1);
1.2029 + for(int i= 0; i<KAppUidIndex; i++)
1.2030 + {
1.2031 + certfilePtr1 = goodAppNames[i]; //app names - SW Install,SW install Ocsp Signing etc.
1.2032 + certfilePtr2 = goodUids[0];
1.2033 + certfileWriter.WriteCertClientName(certfilePtr1);
1.2034 + certfileWriter.WriteCertClientUid(certfilePtr2);
1.2035 + }
1.2036 + CertClientBadParamsFuncCall(file1, aTestCaseType, aTestCaseIndex++);
1.2037 + break;
1.2038 + }
1.2039 +
1.2040 + default:
1.2041 + break;
1.2042 + }
1.2043 +}
1.2044 +
1.2045 +
1.2046 +void CertClientBadParamsFuncCall(stringstream &aFileName, stringstream &aTestCaseType, int aTestCaseIndex)
1.2047 +{
1.2048 + //Ex:certapp --hcertclients=t_certclients_0.txt --out --bcertclients=t_certclients_0.dat
1.2049 + stringstream strArg1, strArg2, strArg3;
1.2050 + strArg1 <<"--hcertclients=" << aFileName.str() << ".txt";
1.2051 +
1.2052 + strArg2<< "--bcertclients=" << aFileName.str() << ".dat";
1.2053 + cout <<"string value is " << strArg2.str().c_str() << endl;
1.2054 +
1.2055 + string argument1, argument2;
1.2056 + const char *argv_certclient[3];
1.2057 +
1.2058 + argument1= strArg1.str().c_str();
1.2059 + argument2= strArg2.str().c_str();
1.2060 +
1.2061 + argv_certclient[0] = argument1.c_str(); // --hcertclients=tbad_certclients_x.txt
1.2062 + argv_certclient[1] = "--out"; //--out
1.2063 + argv_certclient[2] = argument2.c_str(); //--bcertclients=t_certclients_x.dat
1.2064 +
1.2065 + char *argument_ptr[3];
1.2066 + int argCount3 = 3;
1.2067 + char **argv;
1.2068 + for(int n = 0; n<argCount3; n++)
1.2069 + {
1.2070 + argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
1.2071 + argv = argument_ptr;
1.2072 + }
1.2073 + RunCertAppToolForBadParams(argCount3, argv, aFileName, aTestCaseType, aTestCaseIndex);
1.2074 +}
1.2075 +
1.2076 +
1.2077 +/**
1.2078 +Generate config file for swicert
1.2079 +*/
1.2080 +void BadSwiCertTests(const stringstream &aFileName, int aIndex, stringstream &aTestCaseType, int &aTestIndex)
1.2081 +{
1.2082 + const char **swicertPtr1;
1.2083 + int count = 0 ;
1.2084 + switch(aIndex)
1.2085 + {
1.2086 + case 0:
1.2087 + {
1.2088 + // Tests for BadLabels
1.2089 + for(swicertPtr1= badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
1.2090 + {
1.2091 + stringstream file1, file2;
1.2092 + file1 << aFileName.str() <<"_"<<count;
1.2093 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2094 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2095 + badswiWriter.WriteSwiEntry(*swicertPtr1);
1.2096 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2097 + count++;
1.2098 + }
1.2099 + break;
1.2100 + }
1.2101 +
1.2102 + case 1:
1.2103 + {
1.2104 + //Tests for BadFormats
1.2105 + for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
1.2106 + {
1.2107 + stringstream file1, file2;
1.2108 + file1 << aFileName.str() <<"_"<<count;
1.2109 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2110 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2111 + badswiWriter.WriteSwiEntry(0,*swicertPtr1);
1.2112 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2113 + count++;
1.2114 + }
1.2115 + break;
1.2116 + }
1.2117 + case 2:
1.2118 + {
1.2119 + //Tests for BadCertOwnerTypes
1.2120 + for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
1.2121 + {
1.2122 + stringstream file1, file2;
1.2123 + file1 << aFileName.str() <<"_"<<count;
1.2124 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2125 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2126 + badswiWriter.WriteSwiEntry(0,0,*swicertPtr1);
1.2127 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2128 + count++;
1.2129 + }
1.2130 + break;
1.2131 + }
1.2132 + case 3:
1.2133 + {
1.2134 + //Tests for BadSubjectKeyIds
1.2135 + for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
1.2136 + {
1.2137 + stringstream file1, file2;
1.2138 + file1 << aFileName.str() <<"_"<<count;
1.2139 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2140 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2141 + badswiWriter.WriteSwiEntry(0,0,0,*swicertPtr1);
1.2142 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2143 + count++;
1.2144 + }
1.2145 + break;
1.2146 + }
1.2147 + case 4:
1.2148 + {
1.2149 + //Tests for BadIssuerKeyIds
1.2150 + for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
1.2151 + {
1.2152 + stringstream file1, file2;
1.2153 + file1 << aFileName.str() <<"_"<<count;
1.2154 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2155 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2156 + badswiWriter.WriteSwiEntry(0,0,0,0,*swicertPtr1);
1.2157 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2158 + count++;
1.2159 + }
1.2160 + break;
1.2161 + }
1.2162 + case 5:
1.2163 + {
1.2164 + //Tests for BadApplications
1.2165 + swicertPtr1 = badswicert_array[aIndex];
1.2166 + {
1.2167 + stringstream file1, file2;
1.2168 + file1 << aFileName.str() <<"_"<<count;
1.2169 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2170 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2171 + badswiWriter.WriteSwiEntry(0,0,0,0,0,*swicertPtr1);
1.2172 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2173 + count++;
1.2174 + }
1.2175 + break;
1.2176 + }
1.2177 + case 6:
1.2178 + {
1.2179 + //Tests for BadTrusteds
1.2180 + for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
1.2181 + {
1.2182 + stringstream file1, file2;
1.2183 + file1 << aFileName.str() <<"_"<<count;
1.2184 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2185 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2186 + badswiWriter.WriteSwiEntry(0,0,0,0,0,0,*swicertPtr1);
1.2187 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2188 + count++;
1.2189 + }
1.2190 + break;
1.2191 + }
1.2192 + case 7:
1.2193 + {
1.2194 + //Tests for BadDataFileName
1.2195 + for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
1.2196 + {
1.2197 + stringstream file1, file2;
1.2198 + file1 << aFileName.str() <<"_"<<count;
1.2199 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2200 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2201 + badswiWriter.WriteSwiEntry(0,0,0,0,0,0,0,*swicertPtr1);
1.2202 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2203 + count++;
1.2204 + }
1.2205 + break;
1.2206 + }
1.2207 + case 8:
1.2208 + {
1.2209 + //Tests for BadCapabilities
1.2210 + swicertPtr1 = badswicert_array[aIndex];
1.2211 + {
1.2212 + stringstream file1, file2;
1.2213 + file1 << aFileName.str() <<"_"<<count;
1.2214 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2215 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2216 + badswiWriter.WriteSwiEntry(0,0,0,0,0,0,0,0,*swicertPtr1);
1.2217 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2218 + count++;
1.2219 + }
1.2220 + break;
1.2221 + }
1.2222 + case 9:
1.2223 + {
1.2224 + //Tests for BadMandatory
1.2225 + for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
1.2226 + {
1.2227 + stringstream file1, file2;
1.2228 + file1 << aFileName.str() <<"_"<<count;
1.2229 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2230 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2231 + badswiWriter.WriteSwiEntry(0,0,0,0,0,0,0,0,0,*swicertPtr1);
1.2232 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2233 + count++;
1.2234 + }
1.2235 + break;
1.2236 + }
1.2237 + case 10:
1.2238 + {
1.2239 + //Tests for BadSystemUpgrade
1.2240 + for(swicertPtr1 = badswicert_array[aIndex]; *swicertPtr1; ++swicertPtr1)
1.2241 + {
1.2242 + stringstream file1, file2;
1.2243 + file1 << aFileName.str() <<"_"<<count;
1.2244 + file2 << aFileName.str() <<"_"<<count <<".txt";
1.2245 + SwiBadCertStoreConfigWriter badswiWriter(file2);
1.2246 + badswiWriter.WriteSwiEntry(0,0,0,0,0,0,0,0,0,0,*swicertPtr1);
1.2247 + TestBadConfigFiles(file1,1,aTestCaseType,aTestIndex++);
1.2248 + count++;
1.2249 + }
1.2250 + break;
1.2251 + }
1.2252 + default:
1.2253 + break;
1.2254 + }
1.2255 +}
1.2256 +
1.2257 +/**
1.2258 + @SYMTestCaseID SEC-TOOLS-CERTAPP-EMPTYFILE_CREATE-0000
1.2259 + @SYMTestCaseDesc Test the tool with empty configuration file as input
1.2260 +*/
1.2261 +/**
1.2262 + @SYMTestCaseID SEC-TOOLS-CERTAPP-EMPTYFILE_CREATE-0001
1.2263 + @SYMTestCaseDesc Test the tool with empty configuration file as input
1.2264 +*/
1.2265 +/**
1.2266 + @SYMTestCaseID SEC-TOOLS-CERTAPP-EMPTYFILE_CREATE-0002
1.2267 + @SYMTestCaseDesc Test the tool with empty configuration file as input
1.2268 +*/
1.2269 +/**
1.2270 +Test cases to test the tool with empty configuration files as input for all the stores
1.2271 +*/
1.2272 +void TestsWithEmptyConfigFile()
1.2273 +{
1.2274 + stringstream testCaseType("SEC-TOOLS-CERTAPP-EMPTYFILE_CREATE");
1.2275 + for(int i = 0 ; i<3 ; i++)
1.2276 + {
1.2277 + stringstream emptyConfigFileName, configFileName1, configFileName2;
1.2278 + emptyConfigFileName<< "SDP-Security_Tools-CertApp-EmptyFile_000"<< i <<".txt";
1.2279 + switch(i)
1.2280 + {
1.2281 + case 0:
1.2282 + {
1.2283 + configFileName1 << "--hcertclients=" << emptyConfigFileName.str();
1.2284 + configFileName2 << "--bcertclients=SDP-Security_Tools-CertApp-EmptyFile_0000"<<".dat";
1.2285 + FileCertClientConfigWriter certclient(emptyConfigFileName);
1.2286 + }
1.2287 + break;
1.2288 +
1.2289 + case 1:
1.2290 + {
1.2291 + configFileName1 << "--hfilecertstore=" << emptyConfigFileName.str();
1.2292 + configFileName2 << "--bfilecertstore=SDP-Security_Tools-CertApp-EmptyFile_0001"<<".dat";
1.2293 + FileCertStoreConfigWriter fileWriter(emptyConfigFileName);
1.2294 + }
1.2295 + break;
1.2296 +
1.2297 + case 2:
1.2298 + {
1.2299 + configFileName1 << "--hswicertstore=" << emptyConfigFileName.str();
1.2300 + configFileName2 << "--bswicertstore=SDP-Security_Tools-CertApp-EmptyFile_0002"<<".dat";
1.2301 + SwiCertStoreConfigWriter swiFileWriter(emptyConfigFileName);
1.2302 + }
1.2303 + break;
1.2304 +
1.2305 + default:
1.2306 + break;
1.2307 + }
1.2308 +
1.2309 + string argument1, argument2;
1.2310 + argument1 = configFileName1.str().c_str();
1.2311 + argument2 = configFileName2.str().c_str();
1.2312 + const char *argv_certclient[4];
1.2313 + argv_certclient[0] = "--hcertclients=SDP-Security_Tools-CertApp-CCDAT_0000.txt";
1.2314 + argv_certclient[1] = argument1.c_str(); //"--hfilecertstore=t_emptyConfig.txt";
1.2315 + argv_certclient[2] = "--out";
1.2316 + argv_certclient[3] = argument2.c_str();
1.2317 +
1.2318 + int argcount = 4;
1.2319 + char *argument_ptr[4];
1.2320 + char **argv;
1.2321 + for(int n = 0; n<argcount; n++)
1.2322 + {
1.2323 + argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
1.2324 + argv = argument_ptr;
1.2325 + }
1.2326 + for(int z=0; z<argcount; z++)
1.2327 + {
1.2328 + cout << "Testing with empty configuration file" << argv[z] <<endl;
1.2329 + }
1.2330 +
1.2331 + RunCertAppTool(argcount, argv, emptyConfigFileName, testCaseType, i);
1.2332 + }
1.2333 +}
1.2334 +
1.2335 +/**
1.2336 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEFORMATS_CREATE-0000
1.2337 + @SYMTestCaseDesc Test the certapp tool for different file encode formats
1.2338 +*/
1.2339 +/**
1.2340 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEFORMATS_CREATE-0001
1.2341 + @SYMTestCaseDesc Test the certapp tool for different file encode formats
1.2342 +*/
1.2343 +/**
1.2344 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEFORMATS_CREATE-0002
1.2345 + @SYMTestCaseDesc Test the certapp tool for different file encode formats
1.2346 +*/
1.2347 +/**
1.2348 + @SYMTestCaseID SEC-TOOLS-CERTAPP-FILEFORMATS_CREATE-0003
1.2349 + @SYMTestCaseDesc Test the certapp tool for different file encode formats
1.2350 +*/
1.2351 +/**
1.2352 +Code to test the certapp tool for different file encode formats
1.2353 +*/
1.2354 +void TestsWithEncodedFileFormats()
1.2355 +{
1.2356 + stringstream testCaseType("SEC-TOOLS-CERTAPP-FILEFORMATS_CREATE");
1.2357 + bool hasResult;
1.2358 +
1.2359 + //Provide files with different encoded formats
1.2360 + for(int i = 0; i<4; i++)
1.2361 + {
1.2362 + stringstream unicodeName, outputFileName, strArg3;
1.2363 + const char *argv_certclient[KIndex];
1.2364 + unicodeName<< fileEncodeType[i];
1.2365 + outputFileName <<"SDP-Security_Tools-CertApp-FileFormats-000" <<i;
1.2366 + strArg3 << "--bfilecertstore="<< "SDP-Security_Tools-CertApp-FileFormats-000" <<i<<".dat";
1.2367 +
1.2368 + string argument;
1.2369 + argument = strArg3.str().c_str();
1.2370 + argv_certclient[0] = "--hcertclients=SDP-Security_Tools-CertApp-CCDAT_0000.txt";
1.2371 + argv_certclient[1] = fileEncodeType[i]; // manually created unicode content files
1.2372 + argv_certclient[2] = "--out";
1.2373 + argv_certclient[3] = argument.c_str();
1.2374 +
1.2375 + for(int m=0; m<KIndex; m++)
1.2376 + {
1.2377 + cout << "Value in argv_certclient " << m << "is " <<argv_certclient[m] <<endl;
1.2378 + }
1.2379 + char *argument_ptr[4];
1.2380 + char **argv;
1.2381 + for(int n = 0; n<KIndex; n++)
1.2382 + {
1.2383 + argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
1.2384 + argv = argument_ptr;
1.2385 + }
1.2386 +
1.2387 + for(int z=0; z<KIndex; z++)
1.2388 + {
1.2389 + cout << "Argument array contains : " << argv[z] <<endl;
1.2390 + }
1.2391 +
1.2392 + int ret = RunCertApp(progress, errors, KIndex, argv);
1.2393 + cout << "Return value from RunCertApp tool is " << ret << endl;
1.2394 +
1.2395 + hasResult = false;
1.2396 + stringstream logging;
1.2397 + if(ret!= 0 && ((strcmp(unicodeName.str().c_str(),"--hfilecertstore=ucs2-bigendian.txt")==0) || (strcmp(unicodeName.str().c_str(),"--hfilecertstore=ucs2-littleendian.txt")==0)))
1.2398 + {
1.2399 + passCount++;
1.2400 + logging << "Tool doesnt support for UCS encoded file-"<< outputFileName.str() <<" so the result is " << ret << " Pass";
1.2401 + hasResult = true;
1.2402 + }
1.2403 + else if(ret== 0 && ((strcmp(unicodeName.str().c_str(),"--hfilecertstore=utf8.txt") ==0) || (strcmp(unicodeName.str().c_str(),"--hfilecertstore=utf8_without_bom.txt")==0)))
1.2404 + {
1.2405 + passCount++;
1.2406 + logging << "No Error in creating store for UTF8 encoded file-"<<outputFileName.str()<< " and result is " << ret << " Pass";
1.2407 + hasResult = true;
1.2408 + }
1.2409 +
1.2410 + if (hasResult)
1.2411 + {
1.2412 + writeTMSResult(file, testCaseType, i, true, logging);
1.2413 + }
1.2414 + } //End of encoded file formats testing
1.2415 +}
1.2416 +
1.2417 +/**
1.2418 + @SYMTestCaseID SEC-TOOLS-CERTAPP-AGGRCERTSTORE_CREATE-0000
1.2419 + @SYMTestCaseDesc Test case for REQ-10314 (Reviewing Aggregate Certificate DataBase)
1.2420 +*/
1.2421 +/**
1.2422 + @SYMTestCaseID SEC-TOOLS-CERTAPP-AGGRCERTSTORE_CREATE-0001
1.2423 + @SYMTestCaseDesc Test case for REQ-10314 (Reviewing Aggregate Certificate DataBase)
1.2424 +*/
1.2425 +/**
1.2426 +Test case for REQ-10314 (Reviewing Aggregate Certificate DataBase)
1.2427 +*/
1.2428 +void TestToReviewingAggregateStore()
1.2429 +{
1.2430 + stringstream testCaseType("SEC-TOOLS-CERTAPP-AGGRCERTSTORE_CREATE");
1.2431 +
1.2432 + for(int index = 0; index<2; index++)
1.2433 + {
1.2434 + stringstream file1, file2;
1.2435 + const char *argv_certclient[4];
1.2436 + argv_certclient[2] = "--out";
1.2437 + switch(index)
1.2438 + {
1.2439 + case 0: // different certificate labels in two stores
1.2440 + {
1.2441 + argv_certclient[0] = "--bfilecertstore=teststore1.dat"; // these are 2 binary stores saved in perforce
1.2442 + argv_certclient[1] = "--bfilecertstore=teststore3.dat";
1.2443 + argv_certclient[3] = "--hfilecertstore=SDP-Security_Tools-CertApp-AggrCertStore-0000.txt";
1.2444 + file1 <<"SDP-Security_Tools-CertApp-AggrCertStore-0000.txt";
1.2445 + file2 <<"aggregatestorecontents1_3.txt";
1.2446 + }
1.2447 + break;
1.2448 +
1.2449 + case 1: //duplicate certificate labels in two stores
1.2450 + {
1.2451 + argv_certclient[0] = "--bfilecertstore=teststore2.dat"; // these are 2 binary stores saved in perforce
1.2452 + argv_certclient[1] = "--bfilecertstore=teststore3.dat";
1.2453 + argv_certclient[3] = "--hfilecertstore=SDP-Security_Tools-CertApp-AggrCertStore-0001.txt";
1.2454 + file1 <<"SDP-Security_Tools-CertApp-AggrCertStore-0001.txt";
1.2455 + file2 <<"aggregatestorecontents2_3.txt";
1.2456 + }
1.2457 + break;
1.2458 +
1.2459 + default:
1.2460 + break;
1.2461 + }
1.2462 +
1.2463 + for(int m=0; m<KIndex; m++)
1.2464 + {
1.2465 + cout << "Value in argv_certclient " << m << "is " <<argv_certclient[m] <<endl;
1.2466 + }
1.2467 + char *argument_ptr[KIndex];
1.2468 + char **argv;
1.2469 + for(int n = 0; n<KIndex; n++)
1.2470 + {
1.2471 + argument_ptr[n] = const_cast<char*>(argv_certclient[n]);
1.2472 + argv = argument_ptr;
1.2473 + }
1.2474 +
1.2475 + int ret = RunCertApp(progress, errors, KIndex, argv);
1.2476 + stringstream logging;
1.2477 + if(!ret)
1.2478 + {
1.2479 + passCount++;
1.2480 + int compareValue = CompareFiles(file1,file2); // compare with the reference files in perforce
1.2481 + if (compareValue)
1.2482 + {
1.2483 + logging << "Failed to successfully create Aggregate Database for " << file1.str() << " is Fail";
1.2484 +
1.2485 + }
1.2486 + else
1.2487 + {
1.2488 + logging << "Successfully created Aggregate Database(text form) for " <<file1.str() << " result is Pass";
1.2489 + }
1.2490 + }
1.2491 + else
1.2492 + {
1.2493 + failCount++;
1.2494 + logging << "Failed to dump the stores to single text format for " <<file1.str();
1.2495 + }
1.2496 +
1.2497 + writeTMSResult(file, testCaseType, index, !ret, logging);
1.2498 + }
1.2499 +}
1.2500 +
1.2501 +
1.2502 +/**
1.2503 + @SYMTestCaseID SEC-TOOLS-CERTAPP-DECODEENCODE_COMPARE-0000
1.2504 + @SYMTestCaseDesc Encode-decode test for certclient store
1.2505 +*/
1.2506 +/**
1.2507 +TestCase to test the req of 10313- decode/encode certstore
1.2508 +Encode-decode test for certclient store
1.2509 +*/
1.2510 +void TestToDecodeAndEncodeStore()
1.2511 +{
1.2512 + stringstream testCaseType("SEC-TOOLS-CERTAPP-DECODEENCODE_COMPARE");
1.2513 +
1.2514 + stringstream outputFileName, strArg1, strArg2;
1.2515 + outputFileName <<"SDP-Security_Tools-CertApp-DecodeEncode-0000";
1.2516 + strArg1 << "decodeoutput1.txt";
1.2517 + strArg2 << "decodeoutput2.txt";
1.2518 +
1.2519 + const char *argv_certclient[3]; //dump store to text
1.2520 + argv_certclient[0] = "--bcertclients=certclients_0.dat";
1.2521 + argv_certclient[1] = "--out";
1.2522 + argv_certclient[2] = "--hcertclients=decodeoutput1.txt";
1.2523 + decodeEncodeCertAppCall(argv_certclient);
1.2524 +
1.2525 + //create store with the decoded text as input
1.2526 + argv_certclient[0] = "--hcertclients=decodeoutput1.txt";
1.2527 + argv_certclient[2] = "--bcertclients=decodeoutput.dat";
1.2528 + decodeEncodeCertAppCall(argv_certclient);
1.2529 +
1.2530 + //take the encoded store and dump it back to text form
1.2531 + argv_certclient[0] = "--bcertclients=decodeoutput.dat";
1.2532 + argv_certclient[2] = "--hcertclients=decodeoutput2.txt";
1.2533 + decodeEncodeCertAppCall(argv_certclient);
1.2534 +
1.2535 + int compVal = CompareFiles(strArg1, strArg2);
1.2536 + stringstream logging;
1.2537 + cout << "Return value of comparision is " << compVal <<endl;
1.2538 + if (compVal)
1.2539 + {
1.2540 + failCount++;
1.2541 + logging << "Encode-Decode fail for " <<outputFileName.str() << " result is Fail";
1.2542 + }
1.2543 + else
1.2544 + {
1.2545 + passCount++;
1.2546 + logging << "Encode-Decode Pass for " <<outputFileName.str() << " result is Pass";
1.2547 + }
1.2548 +
1.2549 + writeTMSResult(file, testCaseType, 0, compVal==0, logging);
1.2550 +}
1.2551 +
1.2552 +void decodeEncodeCertAppCall(const char *aArray[])
1.2553 +{
1.2554 + char *argument_ptr[3];
1.2555 + char **argv;
1.2556 + for(int m=0; m<3; m++)
1.2557 + {
1.2558 + cout << "Value in argv_certclient " << m << "is " <<aArray[m] <<endl;
1.2559 + }
1.2560 + for(int n = 0; n<3; n++)
1.2561 + {
1.2562 + argument_ptr[n] = const_cast<char*>(aArray[n]);
1.2563 + argv = argument_ptr;
1.2564 + }
1.2565 + RunCertApp(progress, errors ,3, argv);
1.2566 +}
1.2567 +
1.2568 +
1.2569 +int CompareFiles(stringstream &aFile1, stringstream &aFile2)
1.2570 +{
1.2571 + ifstream inFile1, inFile2;
1.2572 + string name1 = aFile1.str();
1.2573 + string name2 = aFile2.str();
1.2574 + inFile1.open(name1.c_str(), ifstream::in);
1.2575 + if (inFile1.fail())
1.2576 + {
1.2577 + cout << "Failed to open the file! May be not existing" << endl;
1.2578 + return -1;
1.2579 + }
1.2580 + inFile2.open(name1.c_str(), ifstream::in);
1.2581 + if (inFile2.fail())
1.2582 + {
1.2583 + cout << "Failed to open the file! May be not existing" << endl;
1.2584 + return -1;
1.2585 + }
1.2586 + return Compare(inFile1, inFile2);
1.2587 +}
1.2588 +
1.2589 +
1.2590 +int Compare(istream &aIstream1, istream &aIstream2)
1.2591 +{
1.2592 + char ch1, ch2;
1.2593 + while (aIstream1.get(ch1))
1.2594 + {
1.2595 + if (!aIstream2.get(ch2) || (ch1 != ch2))
1.2596 + {
1.2597 + cout << "files are not equal";
1.2598 + return -1;
1.2599 + }
1.2600 + }
1.2601 + if (!aIstream2.get(ch2)) // no more chars to read fom file
1.2602 + {
1.2603 + cout << "files are equal\n";
1.2604 + return 0;
1.2605 + }
1.2606 + else
1.2607 + {
1.2608 + cout << "files are not equal";
1.2609 + return -1;
1.2610 + }
1.2611 +}
1.2612 +
1.2613 +
1.2614 +/**
1.2615 +Generate script files for the filecertstore emulator tests
1.2616 +*/
1.2617 +void GenerateGoodCertClientTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex)
1.2618 +{
1.2619 + CertClientsStoreScriptGeneration cert_clients(aFilename);
1.2620 +
1.2621 + cert_clients.WriteInitialiseCertClient(aTestCaseType, aTestIndex);
1.2622 + cert_clients.WriteGetCount(KAppUidIndex, aTestCaseType, aTestIndex);
1.2623 + cert_clients.WriteGetApplicationsList(aTestCaseType, aTestIndex);
1.2624 +
1.2625 + for(int i = 0; i<KAppUidIndex;i++)
1.2626 + {
1.2627 + const char *goodlabel = goodcertclient_array[i];
1.2628 + const char *uid = gooddecimalUid_array[i];
1.2629 + cert_clients.WriteGetAppWithUid(goodlabel, uid, aTestCaseType, aTestIndex);
1.2630 + }
1.2631 + cert_clients.WriteDestroyManager(aTestCaseType, aTestIndex);
1.2632 +}
1.2633 +
1.2634 +/**
1.2635 +Generates config files for cacerts
1.2636 +*/
1.2637 +void GenerateGoodCaCertsTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex)
1.2638 +{
1.2639 + FileStoreScriptGeneration fileStore(aFilename);
1.2640 +
1.2641 + const char *mode = "write";
1.2642 + const char *ownertype = goodOwnerType[0]; //CA ownerType
1.2643 +
1.2644 + fileStore.WriteInitialiseCert(mode, aTestCaseType, aTestIndex);
1.2645 + fileStore.WriteListcert(ownertype, aTestCaseType, aTestIndex);
1.2646 +
1.2647 + for(int i = 0; i<6;i++)
1.2648 + {
1.2649 + const char *trust = goodTrust[0]; // true
1.2650 + const char *goodlabel = goodEmuCert_array[i]; // list of label - root5ca , symbiandtestcsa, symbiantestrcsa
1.2651 +
1.2652 + fileStore.WriteGetCertificateDetails(goodlabel, aTestCaseType, aTestIndex);
1.2653 + fileStore.WriteGetTrust(goodlabel, trust, aTestCaseType, aTestIndex);
1.2654 + fileStore.WriteGetApplications(goodlabel, aTestCaseType, aTestIndex);
1.2655 + fileStore.WriteRetrieveCerts(goodlabel, aTestCaseType, aTestIndex);
1.2656 + }
1.2657 +}
1.2658 +
1.2659 +/**
1.2660 +Generate script files for the swicertstore emulator tests
1.2661 +*/
1.2662 +void GenerateGoodSwiCertTestScripts(const stringstream &aFilename, const stringstream &aTestCaseType, int &aTestIndex)
1.2663 +{
1.2664 + SWIStoreScriptGeneration swiStore(aFilename);
1.2665 +
1.2666 + const char *ownertype = goodOwnerType[0]; //CA ownerType
1.2667 +
1.2668 + //initilaise the store and get list all the certificate ones
1.2669 + swiStore.WriteInitialiseCert(aTestCaseType, aTestIndex);
1.2670 + swiStore.WriteListcert(ownertype, aTestCaseType, aTestIndex);
1.2671 +
1.2672 + for(int i = 0; i<6;i++)
1.2673 + {
1.2674 + const char *trust = goodTrust[0]; // true
1.2675 + const char *goodlabel = goodSwiCert_array[i]; // list of label - root5ca , symbiandtestcsa, symbiantestrcsa
1.2676 + const char *mandatoryVal = mandatory[0];
1.2677 + const char *systemupgrade = systemUpgrade[0];
1.2678 +
1.2679 + swiStore.WriteGetSystemUpgrade(goodlabel, systemupgrade, aTestCaseType, aTestIndex);
1.2680 + swiStore.WriteRetrieveCerts(goodlabel, aTestCaseType, aTestIndex);
1.2681 + swiStore.WriteGetApplications(goodlabel, aTestCaseType, aTestIndex);
1.2682 + swiStore.WriteGetTrust(goodlabel, trust, aTestCaseType, aTestIndex);
1.2683 + swiStore.WriteGetCapabilities(goodlabel, aTestCaseType, aTestIndex);
1.2684 + swiStore.WriteGetMandatoryFlag(goodlabel, mandatoryVal, aTestCaseType, aTestIndex);
1.2685 + }
1.2686 +}
1.2687 +
1.2688 +//End of file
1.2689 +
1.2690 +