sl@0: /* sl@0: * Copyright (c) 2007-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 "ttesttoolengine.h" sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: const TInt swinstalluid = 268452523; sl@0: const TInt swinstallocspuid = 268478646; sl@0: const TInt midletinstalluid = 270506792; sl@0: const TInt tlsuid = 268441661; sl@0: const TInt tocspuid = 268477445; sl@0: sl@0: sl@0: _LIT(KSWInstall, "SWInstall"); sl@0: _LIT(KSWInstallOCSP, "SWInstallOCSP"); sl@0: _LIT(KMidletInstall, "MidletInstall"); sl@0: _LIT(KTls, "SSL/TLS"); sl@0: _LIT(KTOcsp, "OCSP Test"); sl@0: sl@0: _LIT(KCaType, "ca"); sl@0: _LIT(KUserType, "user"); sl@0: _LIT(KPeerType, "peer"); sl@0: sl@0: sl@0: /*static*/ CTestToolEngine* CTestToolEngine::NewLC() sl@0: { sl@0: CTestToolEngine* self = new (ELeave) CTestToolEngine(); sl@0: CleanupStack::PushL(self); sl@0: self->ConstructL(); sl@0: return self; sl@0: } sl@0: sl@0: CTestToolEngine::CTestToolEngine() : CActive(EPriorityNormal) sl@0: { sl@0: iStore = -1; sl@0: iPolicy = EFalse; sl@0: } sl@0: sl@0: CTestToolEngine::~CTestToolEngine() sl@0: { sl@0: Cancel(); sl@0: sl@0: delete iCertStore; sl@0: delete iKeyStore; sl@0: sl@0: delete iFilter; sl@0: Cancel(); sl@0: iCertInfos.Close(); sl@0: iFsKeyStore.Close(); sl@0: iFs.Close(); sl@0: iUids.Reset(); sl@0: } sl@0: sl@0: void CTestToolEngine::ConstructL() sl@0: { sl@0: User::LeaveIfError(iFs.Connect()); sl@0: sl@0: iCertStore = CUnifiedCertStore::NewL(iFs, ETrue); sl@0: sl@0: User::LeaveIfError(iFsKeyStore.Connect()); sl@0: iKeyStore = CUnifiedKeyStore::NewL(iFsKeyStore); sl@0: sl@0: // This filter will accept any certificates sl@0: iFilter = CCertAttributeFilter::NewL(); sl@0: sl@0: CActiveScheduler::Add(this); sl@0: } sl@0: sl@0: void CTestToolEngine::RunL() sl@0: { sl@0: if (iStatus.Int() != KErrNone) sl@0: { sl@0: User::Leave(iStatus.Int()); sl@0: } sl@0: sl@0: switch (iState) sl@0: { sl@0: case EInitialiseKeyStore: sl@0: { sl@0: // Construct a catch-all filter! sl@0: iKeyFilter.iKeyAlgorithm = CCTKeyInfo::EInvalidAlgorithm; sl@0: iKeyFilter.iPolicyFilter = TCTKeyAttributeFilter::EAllKeys; sl@0: iKeyFilter.iUsage = EPKCS15UsageAll; sl@0: if (iStore != -1) sl@0: { sl@0: MCTKeyStore& chosen = iKeyStore->KeyStore(iStore); sl@0: chosen.List(iKeys, iKeyFilter, iStatus); sl@0: } sl@0: else sl@0: { sl@0: iKeyStore->List(iKeys, iKeyFilter, iStatus); sl@0: } sl@0: if(iPolicy) sl@0: { sl@0: iState = EGetPolicy; sl@0: } sl@0: else if (iKeysListCount > 0) sl@0: { sl@0: iState = EDone; sl@0: } sl@0: else sl@0: { sl@0: iState = EFilterKey; sl@0: } sl@0: SetActive(); sl@0: } sl@0: break; sl@0: case EFilterKey: sl@0: { sl@0: TInt index = 0; sl@0: if (iLabel1.Length()) sl@0: { sl@0: iNumCert1 = FilterKeys(iKeys, iLabel1, index); sl@0: } sl@0: if (iLabel2.Length()) sl@0: { sl@0: iNumCert2 = FilterKeys(iKeys, iLabel2, index); sl@0: } sl@0: CActiveScheduler::Stop(); sl@0: } sl@0: break; sl@0: case EInitialise: sl@0: { sl@0: if (iStore != -1) sl@0: { sl@0: MCTCertStore& chosen = iCertStore->CertStore(iStore); sl@0: chosen.List(iCertInfos, *iFilter, iStatus); sl@0: } sl@0: else sl@0: { sl@0: iCertStore->List(iCertInfos, *iFilter, iStatus); sl@0: } sl@0: sl@0: if(iAppsCount > 0) sl@0: { sl@0: iState = EGetApps; sl@0: } sl@0: else if (iGetTrust == 1) sl@0: { sl@0: iState = EGetTrust; sl@0: } sl@0: else if (iCertsCount > 0) sl@0: { sl@0: iState = EDone; sl@0: } sl@0: else sl@0: { sl@0: iState = EFilter; sl@0: } sl@0: SetActive(); sl@0: } sl@0: break; sl@0: case EGetPolicy: sl@0: { sl@0: FilterKeys(iKeys, iLabel1, iIndex); sl@0: CActiveScheduler::Stop(); sl@0: } sl@0: break; sl@0: case EGetApps: sl@0: { sl@0: TInt index = 0; sl@0: FilterCerts(iCertInfos, iLabel1, index); sl@0: iCertStore->Applications(*iCertInfos[index], iUids, iStatus); sl@0: CActiveScheduler::Stop(); sl@0: } sl@0: break; sl@0: case EGetTrust: sl@0: { sl@0: TInt index = 0; sl@0: FilterCerts(iCertInfos, iLabel1, index); sl@0: iCertStore->Trusted(*iCertInfos[index], iActualTrust, iStatus); sl@0: CActiveScheduler::Stop(); sl@0: } sl@0: break; sl@0: case EFilter: sl@0: { sl@0: TInt index = 0; sl@0: TBool filteronly = ETrue; sl@0: if (iLabel1.Length()) sl@0: { sl@0: iNumCert1 = FilterCerts(iCertInfos, iLabel1, index, filteronly); sl@0: } sl@0: if (iLabel2.Length()) sl@0: { sl@0: iNumCert2 = FilterCerts(iCertInfos, iLabel2, index, filteronly); sl@0: } sl@0: CActiveScheduler::Stop(); sl@0: } sl@0: break; sl@0: case EDone: sl@0: { sl@0: CActiveScheduler::Stop(); sl@0: } sl@0: break; sl@0: default: sl@0: { sl@0: User::Panic(_L("Testtool Engine - Illegal state"), 0); sl@0: } sl@0: } sl@0: } sl@0: sl@0: TInt CTestToolEngine::RunError(TInt /*aError*/) sl@0: { sl@0: CActiveScheduler::Stop(); sl@0: sl@0: return KErrNone; sl@0: } sl@0: sl@0: sl@0: void CTestToolEngine::DoCancel() sl@0: { sl@0: //CActiveScheduler::Stop(); sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::ListCerts(const TDesC& aLabel1, const TInt aExpectedNumLabel) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iLabel1.Set(aLabel1); sl@0: sl@0: Initilize(); sl@0: if (iNumCert1 != aExpectedNumLabel) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: sl@0: TVerdict CTestToolEngine::ListCerts(const TDesC& aLabel1, const TDesC& aLabel2, const TInt aExpectedNumLabel) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iLabel1.Set(aLabel1); sl@0: iLabel2.Set(aLabel2); sl@0: sl@0: Initilize(); sl@0: if (iNumCert1 != aExpectedNumLabel || iNumCert2 != aExpectedNumLabel) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::ListStore(RPointerArray& aCerts) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iCertsCount = aCerts.Count(); sl@0: sl@0: Initilize(); sl@0: sl@0: if (!CompareWithExpectedStore(aCerts)) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::ListCerts(RPointerArray& aCerts) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iCertsCount = aCerts.Count(); sl@0: sl@0: Initilize(); sl@0: sl@0: if (!CompareWithExpectedCertificates(aCerts)) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::ListCerts(RPointerArray& aCerts, const TDesC& aLabel) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iLabel1.Set(aLabel); sl@0: iCertsCount = aCerts.Count(); sl@0: sl@0: Initilize(); sl@0: TCertificateOwnerType owner; sl@0: if (iLabel1.CompareF(KCaType) == KErrNone) sl@0: { sl@0: owner = ECACertificate; sl@0: } sl@0: else if (iLabel1.CompareF(KUserType) == KErrNone) sl@0: { sl@0: owner = EUserCertificate; sl@0: } sl@0: else if (iLabel1.CompareF(KPeerType) == KErrNone) sl@0: { sl@0: owner = EPeerCertificate; sl@0: } sl@0: FilterCerts(iCertInfos, owner); sl@0: if (!CompareWithExpectedCertificates(aCerts)) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::ListCerts(RPointerArray& aCerts, TInt aStore) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iStore = aStore; sl@0: iCertsCount = aCerts.Count(); sl@0: sl@0: Initilize(); sl@0: if (!CompareWithExpectedCertificates(aCerts)) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::CheckApps(RPointerArray& aApps, const TDesC& aLabel) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iAppsCount = aApps.Count(); sl@0: iLabel1.Set(aLabel); sl@0: Initilize(); sl@0: if (!VerifyApps(aApps)) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::CheckTrust(const TDesC& aLabel,TBool aTrust) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iLabel1.Set(aLabel); sl@0: iGetTrust = 1; sl@0: Initilize(); sl@0: if (!VerifyTrust(aTrust)) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::ListStoreKey(RPointerArray& aKeys) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iKeysListCount = aKeys.Count(); sl@0: sl@0: KeyInitilize(); sl@0: sl@0: if (!CompareWithExpectedStoreKey(aKeys)) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::ListKeys(const TDesC& aLabel1, const TInt aExpectedNumLabel) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iLabel1.Set(aLabel1); sl@0: sl@0: KeyInitilize(); sl@0: if (iNumCert1 != aExpectedNumLabel) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: sl@0: TVerdict CTestToolEngine::ListKeys(const TDesC& aLabel1, const TDesC& aLabel2, const TInt aExpectedNumLabel) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iLabel1.Set(aLabel1); sl@0: iLabel2.Set(aLabel2); sl@0: sl@0: KeyInitilize(); sl@0: if (iNumCert1 != aExpectedNumLabel || iNumCert2 != aExpectedNumLabel) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::ListKeys(RPointerArray& aKeys, TInt aStore) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iStore = aStore; sl@0: iKeysListCount = aKeys.Count(); sl@0: sl@0: KeyInitilize(); sl@0: if (!CompareWithExpectedKeys(aKeys)) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: sl@0: TVerdict CTestToolEngine::ListKeys(RPointerArray& aKeys) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iKeysListCount = aKeys.Count(); sl@0: sl@0: KeyInitilize(); sl@0: sl@0: if (!CompareWithExpectedKeys(aKeys)) sl@0: { sl@0: returnValue = EFail; sl@0: } sl@0: return returnValue; sl@0: } sl@0: sl@0: TVerdict CTestToolEngine::GetPolicy(const TDesC& aLabel1, const TDesC& aLabel2, TInt aUser) sl@0: { sl@0: TVerdict returnValue = EPass; sl@0: iLabel1.Set(aLabel1); sl@0: iLabel2.Set(aLabel2); sl@0: iPolicy = ETrue; sl@0: KeyInitilize(); sl@0: VerifyPolicy(aUser); sl@0: sl@0: return returnValue; sl@0: } sl@0: sl@0: void CTestToolEngine::Initilize() sl@0: { sl@0: iState = EInitialise; sl@0: iCertStore->Initialize(iStatus); sl@0: SetActive(); sl@0: CActiveScheduler::Start(); sl@0: } sl@0: sl@0: void CTestToolEngine::KeyInitilize() sl@0: { sl@0: iState = EInitialiseKeyStore; sl@0: iKeyStore->Initialize(iStatus); sl@0: SetActive(); sl@0: CActiveScheduler::Start(); sl@0: } sl@0: sl@0: TBool CTestToolEngine::VerifyApps(RPointerArray& aApps) sl@0: { sl@0: TInt uidsCount = iUids.Count(); sl@0: TInt appsCount = aApps.Count(); sl@0: TBool result = ETrue; sl@0: if ( uidsCount != appsCount) sl@0: { sl@0: return EFalse; sl@0: } sl@0: for (TInt i = 0; i < uidsCount; i++) sl@0: { sl@0: if (iUids[i] == TUid::Uid(swinstalluid)) sl@0: { sl@0: result = CheckAppForUid(KSWInstall, aApps); sl@0: } sl@0: else if (iUids[i] == TUid::Uid(swinstallocspuid)) sl@0: { sl@0: result = CheckAppForUid(KSWInstallOCSP, aApps); sl@0: } sl@0: else if (iUids[i] == TUid::Uid(midletinstalluid)) sl@0: { sl@0: result = CheckAppForUid(KMidletInstall, aApps); sl@0: } sl@0: else if (iUids[i] == TUid::Uid(tlsuid)) sl@0: { sl@0: result = CheckAppForUid(KTls, aApps); sl@0: } sl@0: else if (iUids[i] == TUid::Uid(tocspuid)) sl@0: { sl@0: result = CheckAppForUid(KTOcsp, aApps); sl@0: } sl@0: else sl@0: { sl@0: result = EFalse; sl@0: } sl@0: if (!result) sl@0: { sl@0: break; sl@0: } sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: TBool CTestToolEngine::CheckAppForUid(const TDesC& aAppName, RPointerArray& aApps) sl@0: { sl@0: TBool result = EFalse; sl@0: for (TInt i = 0; i < aApps.Count();i++) sl@0: { sl@0: if (aAppName.CompareF(*aApps[i]) == KErrNone) sl@0: { sl@0: result = ETrue; sl@0: break; sl@0: } sl@0: else sl@0: { sl@0: result = EFalse; sl@0: } sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: TBool CTestToolEngine::VerifyPolicy(TInt aUser) sl@0: { sl@0: TBool result = EFalse; sl@0: _LIT(KCab, "WriteDeviceData"); sl@0: TLex lex(iLabel2); sl@0: TUid secid; sl@0: lex.Val(secid.iUid); sl@0: TCompiledSecurityPolicy managementPolicy = iKeys[iIndex]->ManagementPolicy(); sl@0: TCompiledSecurityPolicy usePolicy = iKeys[iIndex]->UsePolicy(); sl@0: TUint32 mSecureid = managementPolicy.SecureId(); sl@0: TUint32 uSecureid = usePolicy.SecureId(); sl@0: sl@0: if (aUser == 2) sl@0: { sl@0: if (mSecureid == 0xffffffff) sl@0: { sl@0: TCapability cab = managementPolicy.Capability(0); sl@0: // currently only possible for keyowner other than secure id. sl@0: if (cab == ECapabilityWriteDeviceData && iLabel2.CompareF(KCab) == KErrNone) sl@0: { sl@0: result = ETrue; sl@0: } sl@0: else sl@0: { sl@0: result = EFalse; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: TUid mSecureUid = TUid::Uid(mSecureid); sl@0: if (mSecureUid == secid) sl@0: { sl@0: result = ETrue; sl@0: } sl@0: else sl@0: { sl@0: result = EFalse; sl@0: } sl@0: } sl@0: } sl@0: else if (aUser == 1) sl@0: { sl@0: if (uSecureid == 0xffffffff) sl@0: { sl@0: TSecurityPolicy::TType utype = usePolicy.Type(); sl@0: _LIT(KType, "ALL"); sl@0: // currently only possible for keyuser other than secure id sl@0: if (utype == TSecurityPolicy::ETypePass && iLabel2.CompareF(KType) == KErrNone) sl@0: { sl@0: result = ETrue; sl@0: } sl@0: else sl@0: { sl@0: result = EFalse; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: TUid uSecureUid = TUid::Uid(uSecureid); sl@0: if (uSecureUid == secid) sl@0: { sl@0: result = ETrue; sl@0: } sl@0: else sl@0: { sl@0: result = EFalse; sl@0: } sl@0: } sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: TInt CTestToolEngine::FilterCerts(RMPointerArray& aCertList, sl@0: TDesC& aLabel, TInt& aIndex, TBool aFilterOnly) sl@0: { sl@0: TInt j = 0, count = 0; sl@0: while (j < aCertList.Count()) sl@0: { sl@0: if ( aCertList[j]->Label().MatchF(aLabel) != KErrNotFound) sl@0: { sl@0: count++; sl@0: if (count == 1) sl@0: { sl@0: //first certificate to be selected for retreiving sl@0: aIndex = j; sl@0: } sl@0: j++; sl@0: } sl@0: else sl@0: { sl@0: if (!aFilterOnly) sl@0: { sl@0: CCTCertInfo* tmp = aCertList[j]; sl@0: tmp->Release(); sl@0: aCertList.Remove(j); sl@0: } sl@0: else sl@0: { sl@0: j++; sl@0: } sl@0: } sl@0: } sl@0: return count; sl@0: } sl@0: sl@0: void CTestToolEngine::FilterCerts(RMPointerArray& aCertList, TCertificateOwnerType& aOwnerType) sl@0: { sl@0: TInt j = 0; sl@0: while (j < aCertList.Count()) sl@0: { sl@0: if ( aCertList[j]->CertificateOwnerType() != aOwnerType) sl@0: { sl@0: CCTCertInfo* tmp = aCertList[j]; sl@0: tmp->Release(); sl@0: aCertList.Remove(j); sl@0: } sl@0: else sl@0: { sl@0: j++; sl@0: } sl@0: } sl@0: } sl@0: sl@0: sl@0: TInt CTestToolEngine::FilterKeys(RMPointerArray& aKeyList, sl@0: TDesC& aLabel, TInt& aIndex) sl@0: { sl@0: TInt j = 0, count = 0; sl@0: while (j < aKeyList.Count()) sl@0: { sl@0: if ( aKeyList[j]->Label().MatchF(aLabel) != KErrNotFound) sl@0: { sl@0: count++; sl@0: if (count == 1) sl@0: { sl@0: //first key to be selected for retreiving sl@0: aIndex = j; sl@0: } sl@0: j++; sl@0: } sl@0: else sl@0: { sl@0: j++; sl@0: } sl@0: } sl@0: return count; sl@0: } sl@0: sl@0: TBool CTestToolEngine::CompareWithExpectedCertificates(RPointerArray& aCerts) sl@0: { sl@0: if ( iCertInfos.Count() != aCerts.Count()) sl@0: { sl@0: return EFalse; sl@0: } sl@0: for (TInt i = 0 ; i < iCertInfos.Count(); i++) sl@0: { sl@0: const TDesC& label = iCertInfos[i]->Label(); sl@0: TBool found = EFalse; sl@0: for (TInt j = 0; j < aCerts.Count(); j++) sl@0: { sl@0: if (aCerts[j]->CompareF(label) == KErrNone) sl@0: { sl@0: found = ETrue; sl@0: break; sl@0: } sl@0: } sl@0: if (!found) sl@0: { sl@0: return EFalse; sl@0: } sl@0: } sl@0: return ETrue; sl@0: } sl@0: sl@0: sl@0: TBool CTestToolEngine::CompareWithExpectedKeys(RPointerArray& aKeys) sl@0: { sl@0: if ( iKeys.Count() != iKeysListCount) sl@0: { sl@0: return EFalse; sl@0: } sl@0: for (TInt i = 0 ; i < iKeys.Count(); i++) sl@0: { sl@0: const TDesC& label = iKeys[i]->Label(); sl@0: TBool found = EFalse; sl@0: for (TInt j = 0; j < iKeysListCount; j++) sl@0: { sl@0: if (aKeys[j]->CompareF(label) == KErrNone) sl@0: { sl@0: found = ETrue; sl@0: break; sl@0: } sl@0: } sl@0: if (!found) sl@0: { sl@0: return EFalse; sl@0: } sl@0: } sl@0: return ETrue; sl@0: } sl@0: sl@0: TBool CTestToolEngine::CompareWithExpectedStore(RPointerArray& aCerts) sl@0: { sl@0: TBool result = EFalse; sl@0: TInt storeCount = iCertStore->CertStoreCount(); sl@0: for (TInt i = 0; i < storeCount ; i++) sl@0: { sl@0: result = EFalse; sl@0: MCTToken& token = (iCertStore->CertStore(i)).Token(); sl@0: const TDesC& tmp = token.Label(); sl@0: for (TInt j = 0; j < aCerts.Count(); j++) sl@0: { sl@0: if (tmp.CompareF(*aCerts[j]) == KErrNone) sl@0: { sl@0: result = ETrue; sl@0: break; sl@0: } sl@0: } sl@0: if (!result) sl@0: { sl@0: break; sl@0: } sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: sl@0: TBool CTestToolEngine::CompareWithExpectedStoreKey(RPointerArray& aKeys) sl@0: { sl@0: TBool result = EFalse; sl@0: TInt storeCount = iKeyStore->KeyStoreCount(); sl@0: for (TInt i = 0; i < storeCount ; i++) sl@0: { sl@0: result = EFalse; sl@0: MCTToken& token = (iKeyStore->KeyStore(i)).Token(); sl@0: const TDesC& tmp = token.Label(); sl@0: for (TInt j = 0; j < aKeys.Count(); j++) sl@0: { sl@0: if (tmp.CompareF(*aKeys[j]) == KErrNone) sl@0: { sl@0: result = ETrue; sl@0: break; sl@0: } sl@0: } sl@0: if (!result) sl@0: { sl@0: break; sl@0: } sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: sl@0: sl@0: TBool CTestToolEngine::VerifyTrust(TBool aTrust) sl@0: { sl@0: TBool result = EFalse; sl@0: if (aTrust == iActualTrust) sl@0: { sl@0: result = ETrue; sl@0: } sl@0: else sl@0: { sl@0: result = EFalse; sl@0: } sl@0: return result; sl@0: }