sl@0: /* sl@0: * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of the License "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: #include "badconfigwriter.h" sl@0: #include sl@0: #include sl@0: #include "tcertapp_bad.h" sl@0: sl@0: // Array for the StatCA- contains all relevant details sl@0: const char *badstatCA_array[]= sl@0: { sl@0: "X576", sl@0: "TEst", sl@0: "9b843cbfXXXXXXXXX5a87ce5f6da5ec", sl@0: "", sl@0: "!!!", sl@0: "Junk" sl@0: }; sl@0: sl@0: // Array for the Root5CA- contains all relevant details sl@0: const char *badroot5CA_array[]= sl@0: { sl@0: "!@##", sl@0: "T@$%$%Est", sl@0: "@#$b843#%3cbfXXXXXXXXX5a87ce5f6da5ec", sl@0: "", sl@0: "!!!", sl@0: "J&u$n%k" sl@0: }; sl@0: sl@0: // Array for the SymbianTestDSACA- contains all relevant details sl@0: const char *badsymbianTestDSACA_array[]= sl@0: { sl@0: "X576", sl@0: "TEst", sl@0: "9b843cbfXXXXXXXXX5a87ce5f6da5ec", sl@0: "", sl@0: "!!!", sl@0: "J&u$n%k" sl@0: }; sl@0: sl@0: // Array for the SymbianTestRSACA- contains all relevant details sl@0: const char *badsymbianTestRSACA_array[]= sl@0: { sl@0: "X509", sl@0: "ca", sl@0: "7ac99da26d384fcf6ffd0578c4f50b549ffb2032", sl@0: "", sl@0: "584", sl@0: "EFalse" sl@0: }; sl@0: sl@0: // uids required for cacerts sl@0: const char *bademu_cacertsUid[]= sl@0: { sl@0: "26QWERER23", sl@0: "5555555555" sl@0: }; sl@0: sl@0: //Capabilities required for stataca sl@0: const char *aBadCapabilities_statca[]= sl@0: { sl@0: "TCB", sl@0: "CommDD", sl@0: "#&%^&%^&", sl@0: "MultimediaDD", sl@0: "ReadDeviceData", sl@0: "WriteDeviceData", sl@0: "DRM", sl@0: "TrustedUI", sl@0: "ProtServ", sl@0: "@$%%#$%$#", sl@0: "NetworkControl", sl@0: "XXXXXXX", sl@0: "SwEvent", sl@0: "NetworkServices", sl@0: "LocalServices", sl@0: "ReadUserData", sl@0: "#&%^&%^&", sl@0: "Location", sl@0: "SurroundingsDD", sl@0: "UserEnvironment" sl@0: }; sl@0: sl@0: sl@0: //Capabilities required for root5ca sl@0: const char *aBadCapabilities_root5ca[]= sl@0: { sl@0: "SurroundingsDD", sl@0: "XXXXXXX", sl@0: "WriteDeviceData", sl@0: " ", sl@0: "A#$2l%#4lF$%^iles" sl@0: }; sl@0: sl@0: sl@0: //Capabilities required for SymbianTestDSACA sl@0: const char *aBadCapabilities_symbianTestDSACA[]= sl@0: { sl@0: "NetworkServices", sl@0: " ", sl@0: "%#^$$&$" sl@0: }; sl@0: sl@0: //Capabilities required for SymbianTestRSACA sl@0: const char *aBadCapabilities_symbianTestRSACA[]= sl@0: { sl@0: " ", sl@0: "%#^$$&$" sl@0: }; sl@0: sl@0: sl@0: /** sl@0: Bad store writer sl@0: */ sl@0: BadConfigWriter::BadConfigWriter(const std::stringstream &aFileName) sl@0: { sl@0: std::string name = aFileName.str(); sl@0: iFile.open(name.c_str(), std::ios_base::trunc | std::ios_base::out); sl@0: if(iFile.fail()) sl@0: { sl@0: std::cout << "Failed to open '" << name.c_str()<< "' for output!" << std::endl; sl@0: exit(-1); sl@0: } sl@0: } sl@0: sl@0: BadConfigWriter::~BadConfigWriter() sl@0: { sl@0: iFile.close(); sl@0: } sl@0: sl@0: /** sl@0: Class definition for creating cacerts sl@0: */ sl@0: FileBadCertStoreConfigWriter::FileBadCertStoreConfigWriter(const std::stringstream &aFileName) sl@0: : BadConfigWriter(aFileName), iEntryCount(0) sl@0: { sl@0: iFile << "StartCertStoreEntries" << std::endl; sl@0: } sl@0: sl@0: FileBadCertStoreConfigWriter::~FileBadCertStoreConfigWriter() sl@0: { sl@0: iFile << "EndCertStoreEntries" << std::endl; sl@0: } sl@0: sl@0: void FileBadCertStoreConfigWriter::WriteFileEntry(const char *aBadLabel, sl@0: const char *aBadDeletable, sl@0: const char *aBadFormat, sl@0: const char *aBadCertOwnerType, sl@0: const char *aBadSubjectKeyId, sl@0: const char *aBadIssuerKeyId, sl@0: const char *aBadApplication, sl@0: const char *aBadTrusted, sl@0: const char *aBadInvalidPath) sl@0: { sl@0: ++iEntryCount; sl@0: // Setup default values sl@0: std::stringstream certName; sl@0: certName << "cert" << iEntryCount << ".der"; sl@0: sl@0: if(!aBadLabel) aBadLabel = "\"TestLabel\""; sl@0: if(!aBadDeletable) aBadDeletable = "\"true\""; sl@0: if(!aBadFormat) aBadFormat = "\"EX509Certificate\""; sl@0: if(!aBadCertOwnerType) aBadCertOwnerType = "\"ECACertificate\""; sl@0: if(!aBadSubjectKeyId) aBadSubjectKeyId = "auto"; sl@0: if(!aBadIssuerKeyId) aBadIssuerKeyId = "auto"; sl@0: if(!aBadTrusted) aBadTrusted = "\"true\""; sl@0: if(!aBadInvalidPath) aBadInvalidPath = "cert0.der"; sl@0: sl@0: iFile << "\t# Entry " << iEntryCount << std::endl; sl@0: iFile << "\tStartEntry " << aBadLabel << std::endl; sl@0: iFile << "\t\tDeletable " << aBadDeletable << std::endl; sl@0: iFile << "\t\tFormat " << aBadFormat << std::endl; sl@0: iFile << "\t\tCertOwnerType " << aBadCertOwnerType << std::endl; sl@0: iFile << "\t\tSubjectKeyId " << aBadSubjectKeyId << std::endl; sl@0: iFile << "\t\tIssuerKeyId " << aBadIssuerKeyId << std::endl; sl@0: iFile << "\t\tStartApplicationList" << std::endl; sl@0: // write down the applications sl@0: for(int i = 0; i<2; i++) sl@0: { sl@0: iFile << "\t\t\t# Entry " << i << std::endl; sl@0: if(!aBadApplication) sl@0: { sl@0: iFile << "\t\t\t\tApplication " << appNames[i]<< std::endl; sl@0: } sl@0: else sl@0: { sl@0: iFile << "\t\t\t\tApplication " << badApplications[i]<< std::endl; sl@0: } sl@0: } sl@0: sl@0: iFile << "\t\tEndApplicationList" << std::endl; sl@0: iFile << "\t\tTrusted " << aBadTrusted << std::endl; sl@0: iFile << "\t\tDataFileName " << aBadInvalidPath << std::endl; sl@0: iFile << "\tEndEntry " <