diff -r 641f389e9157 -r a71299154b21 authenticationservices/authenticationserver/test/tauthkeys/step_persist.cpp --- a/authenticationservices/authenticationserver/test/tauthkeys/step_persist.cpp Tue Aug 31 17:00:08 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,146 +0,0 @@ -/* -* Copyright (c) 2005-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 -#include "tauthkeysstep.h" -#include - -using namespace AuthServer; - -CTStepPersist::CTStepPersist() - { - SetTestStepName(KTStepPersist); - } - -TVerdict CTStepPersist::doTestStepL() - { - if (TestStepResult() != EPass) - { - return TestStepResult(); - } -__UHEAP_MARK; // Check for memory leaks - - TBool res = ETrue; - TBool tmp = ETrue; - - iFs.CreatePrivatePath(RFs::GetSystemDrive()); - TBuf<50> path; - iFs.PrivatePath(path); - - _LIT(kProtFile, "prot.xxx"); - _LIT(kTransFile, "trans.xxx"); - _LIT8(KPluginData, "ABCDEFGHIJ"); - _LIT(KPluginName, "PasswordPlugin"); - - HBufC* pluginName = HBufC::NewLC(14); - *pluginName = KPluginName; - - // create elements - CTransientKeyInfo* transInfo = - CTransientKeyInfo::NewLC(9999); - - CTransientKey* transient = - transInfo->CreateTransientKeyL(KPluginData); - CleanupStack::PushL(transient); - - CProtectionKey* protection = - CProtectionKey::NewLC(8); - - CEncryptedProtectionKey* encrypted = - transient->EncryptL(*protection); - CleanupStack::PushL(encrypted); - - transInfo->SetEncryptedProtectionKeyL(encrypted); - CleanupStack::Pop(encrypted); - - // write the encrypted key - RFileWriteStream writeProt; - - path.Insert(path.Length(), kProtFile); - User::LeaveIfError(writeProt.Replace(iFs, path, - EFileShareExclusive | EFileStream)); - CleanupClosePushL(writeProt); - - encrypted->ExternalizeL(writeProt); - - CleanupStack::PopAndDestroy(&writeProt); - - // read the encrypted key - RFileReadStream readStream; - - User::LeaveIfError(readStream.Open(iFs, path, - EFileShareExclusive | EFileStream)); - CleanupClosePushL(readStream); - - CEncryptedProtectionKey* encrypted2 = - CEncryptedProtectionKey::NewL(readStream); - CleanupStack::PushL(encrypted2); - - // test the restored key matches the saved - TEST(tmp = (encrypted->KeyData() == encrypted2->KeyData())); - res = tmp && res; - - // write the transient key info - RFileWriteStream writeTrans; - - iFs.PrivatePath(path); - path.Insert(path.Length(), kTransFile); - User::LeaveIfError(writeTrans.Replace(iFs, path, - EFileShareExclusive | EFileStream)); - CleanupClosePushL(writeTrans); - - transInfo->ExternalizeL(writeTrans); - - CleanupStack::PopAndDestroy(&writeTrans); - - // read the transient key info - RFileReadStream readStream2; - - User::LeaveIfError(readStream2.Open(iFs, path, - EFileShareExclusive | EFileStream)); - CleanupClosePushL(readStream2); - - CTransientKeyInfo* transInfo2 = - CTransientKeyInfo::NewL(readStream2); - CleanupStack::PushL(transInfo2); - - // recreate the transient key - CTransientKey* transient2 = - transInfo2->CreateTransientKeyL(KPluginData); - CleanupStack::PushL(transient2); - - // recreate the protection key. - CProtectionKey* decrypted = - transient2->DecryptL(transInfo2->EncryptedKey()); - CleanupStack::PushL(decrypted); - - // test that the protection key and decrypted key are the same - TEST(tmp = (protection->KeyData() == decrypted->KeyData())); - res = tmp && res; - - SetTestStepResult(res ? EPass : EFail); - - CleanupStack::PopAndDestroy(9, transInfo); - CleanupStack::PopAndDestroy(pluginName); - - iFs.Delete(path); - -__UHEAP_MARKEND; - return TestStepResult(); - } -