diff -r 000000000000 -r 2c201484c85f securityanddataprivacytools/securitytools/certapp/test/tcertapp/goodconfigwriter.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securityanddataprivacytools/securitytools/certapp/test/tcertapp/goodconfigwriter.cpp Wed Jul 08 11:25:26 2009 +0100 @@ -0,0 +1,693 @@ +/* +* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include "goodconfigwriter.h" +#include +#include +#include "tcertapp_good.h" + +// Array for the StatCA- holds all relevant details +const char *swicertemu_array[]= + { + "X509", + "c7014670ad9c8ac296c2ae665c4e78f3d4df4a99" + }; + +const char *cert_array[]= + { + "X509", + "ca", + "7ce306295116207214d425affd185b6d5e48af6f", + "", + "1" + }; + +// uids required for cacerts +const char *emu_cacertsUid[]= + { + "268452523", + "268478646" + }; + + +/** +Class required to create files to write data +*/ +GoodConfigWriter::GoodConfigWriter(const std::stringstream &aFileName) +{ + std::string name = aFileName.str(); + iFile.open(name.c_str(), std::ios_base::trunc | std::ios_base::out); + if(iFile.fail()) + { + std::cout << "Failed to open '" << name.c_str()<< "' for output!" << std::endl; + exit(-1); + } +} + +GoodConfigWriter::~GoodConfigWriter() +{ + iFile.close(); +} + +/** +Class definition for creating cacerts config files +*/ +FileCertStoreConfigWriter::FileCertStoreConfigWriter(const std::stringstream &aFileName) + : GoodConfigWriter(aFileName), iEntryCount(0) +{ + iFile << "StartCertStoreEntries" << std::endl; +} + +FileCertStoreConfigWriter::~FileCertStoreConfigWriter() +{ + iFile << "EndCertStoreEntries" << std::endl; +} + +void FileCertStoreConfigWriter::WriteExtraFileEntry() +{ + iFile << "\tStartEntry " << "\"AugmentData\"" << std::endl; + iFile << "\t\tDeletable " << "\"true\"" << std::endl; + iFile << "\t\tFormat " << "\"EX509Certificate\"" << std::endl; + iFile << "\t\tCertOwnerType " << "\"ECACertificate\"" << std::endl; + iFile << "\t\tSubjectKeyId " << "auto" << std::endl; + iFile << "\t\tIssuerKeyId " << "auto" << std::endl; + iFile << "\t\tStartApplicationList" << std::endl; + iFile << "\t\t\t#Entry 1" << std::endl; + iFile << "\t\t\t\tApplication " << "\"0x100042ab\"" << std::endl; + iFile << "\t\t\t\tApplication " << "\"0x1000a8b6\"" << std::endl; + iFile << "\t\tEndApplicationList" << std::endl; + iFile << "\t\tTrusted " << "\"true\"" << std::endl; + iFile << "\t\tDataFileName " << "\"cert0.der\"" << std::endl; + iFile <<"\tEndEntry" <"<" << "Initializing a CUnifiedCertStore" <<""<< std::endl; + iFile << "\t" << "init" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <"<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << "KErrNone" << "" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<"<" << "Get the list of certificates" <<""<< std::endl; + iFile << "\t" << "listcert" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t\t\t" << aGoodOwnerType << "" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + for(int z =0; z<6; z++) + { + iFile << "\t\t" <" << std::endl; + iFile <<""<"<" << "Get the list of certificates" <<""<< std::endl; + iFile << "\t" << "listcert" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t\t\t" <" <" << std::endl; + iFile <<""<" << array[i++] << "" << std::endl; + iFile << "\t\t\t" << array[i++] << "" << std::endl; + iFile << "\t\t\t" << array[i++]<< "" << std::endl; + iFile << "\t\t\t" <" << std::endl; + iFile << "\t\t\t" << array[i++] << "" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + } + + +void FileStoreScriptGeneration::WriteGetTrust(const char *label, const char *trust) +{ + iFile << "# TEST" << iCount++ << std::endl; + iFile <<""<" << "Get Trust certificate" <<""<< std::endl; + iFile << "\t" << "gettrusters" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + iFile << "\t\t\t" << trust << "" <" << std::endl; + iFile <<""<"<" << "Get applications" <<""<< std::endl; + iFile << "\t" << "getapplications" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + iFile << "\t\t\t"; + + for(int j = 0; j<2; j++) + { + iFile << emu_cacertsUid[j]<<" "; + } + iFile <<""<" << std::endl; + iFile <<""<"<" << "Retrieve Certificate" <<""<< std::endl; + iFile << "\t" << "retrieve" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<"<" << "Initialise a SWICertStore" <<""<< std::endl; + iFile << "\t" << "initswicertstore" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << "KErrNone" << "" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<"<" << "Get the list of certificates" <<""<< std::endl; + iFile << "\t" << "listcert" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t\t\t" << aGoodOwnerType << "" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + for(int i =0; i<6; i++) + { + iFile << "\t\tTrue" <" << std::endl; + iFile <<""<" << array[i++] << "" << std::endl; + iFile << "\t\t\t" << array[i++]<< "" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + } + +void SWIStoreScriptGeneration::WriteGetSystemUpgrade(const char *label, const char *aSystemUpgrade) +{ + iFile << "# TEST" << iCount++ << std::endl; + iFile <<""<" << "Get the systemupgrade flag" <<""<< std::endl; + iFile << "\t" << "getsystemupgrade" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + iFile << "\t\t" << aSystemUpgrade <<"" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<"<" << "Retrieve Certificate" <<""<< std::endl; + iFile << "\t" << "retrieve" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<"<" << "Get applications" <<""<< std::endl; + iFile << "\t" << "getapplications" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + + iFile << "\t\t\t"; + for(int j = 0; j<2; j++) + { + iFile << emu_cacertsUid[j] << " "; + } + iFile <<""<" << std::endl; + iFile <<""<"<" << "Get Trust certificate" <<""<< std::endl; + iFile << "\t" << "gettrusters" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + iFile << "\t\t\t" << trust << "" <" << std::endl; + iFile <<""<"<" << "Get the capabilities" <<""<< std::endl; + iFile << "\t" << "getcapabilities" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + + for(int i=0; i<20; i++) + { + iFile << "\t\t" << goodCapabilitySets[i] <<"" << std::endl; + } + iFile << "\t" << std::endl; + iFile <<""<"<" << "Get the mandatory flag" <<""<< std::endl; + iFile << "\t" << "getmandatory" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + iFile << "\t\t" << aMandatory <<"" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<"<" << "Initialise a CertClientStore" <<""<< std::endl; + iFile << "\t" << "InitManager" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << "KErrNone" << "" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<"<" << "Get Count of Applications" <<""<< std::endl; + iFile << "\t" << "AppCount" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << aApp_uidIndex << "" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<"<" << "Getting the application list" <<""<< std::endl; + iFile << "\t" << "GetApplications" <<""<< std::endl; + iFile << "\t" << std::endl; + for(int i = 0 ; i<4 ; i++) + { + iFile << "\t\t" << gooddecimalUid_array[i] << ""<<"" << goodcertclient_array[i] << "" << std::endl; + } + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<"<" << "Get application with given id" <<""<< std::endl; + iFile << "\t" << "GetApp" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << uid << ""<< std::endl; + iFile << "\t\t" << goodlabel << "" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" <<"KErrNone"<< "" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<"<" << "Destroy the manager" <<""<< std::endl; + iFile << "\t" << "DestroyManager" <<""<< std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t" << std::endl; + iFile << "\t\t" << "KErrNone" << "" << std::endl; + iFile << "\t" << std::endl; + iFile <<""<