crypto/weakcrypto/test/tsymmetric/tactionincremental.cpp
branchRCL_3
changeset 62 a71299154b21
parent 61 641f389e9157
child 63 94225563cd41
--- a/crypto/weakcrypto/test/tsymmetric/tactionincremental.cpp	Tue Aug 31 17:00:08 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,253 +0,0 @@
-/*
-* Copyright (c) 1998-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 "tactionincremental.h"
-#include "symmetric.h"
-#include "des.h"
-
-CTestAction* CActionIncremental::NewL(RFs& aFs,
-									   CConsoleBase& aConsole,
-									   Output& aOut, 
-									   const TTestActionSpec& aTestActionSpec)
-	{
-	CTestAction* self = CActionIncremental::NewLC(aFs, aConsole,
-		aOut, aTestActionSpec);
-	CleanupStack::Pop();
-	return self;
-	}
-
-CTestAction* CActionIncremental::NewLC(RFs& aFs,
-										CConsoleBase& aConsole,
-										Output& aOut, 
-										const TTestActionSpec& aTestActionSpec)
-	{
-	CActionIncremental* self = new(ELeave) CActionIncremental(aFs, aConsole, aOut);
-	CleanupStack::PushL(self);
-	self->ConstructL(aTestActionSpec);
-	return self;
-	}
-
-CActionIncremental::~CActionIncremental()
-{
-}
-
-CActionIncremental::CActionIncremental(RFs& aFs, 
-								 CConsoleBase& aConsole,
-								 Output& aOut)						 
-: CCryptoTestAction(aFs, aConsole, aOut)
-{}
-
-void CActionIncremental::DoPerformPostrequisiteL()
-{
-	delete iEncryptor;
-	delete iDecryptor;
-}
-
-void CActionIncremental::DoPerformPrerequisiteL()
-{
-	TInt err = KErrNone;
-	TInt pos = 0;
-	TPtrC8 incremental = Input::ParseElement(*iBody, KIncrementalStart, KIncrementalEnd, pos, err);
-
-	DoInputParseL(incremental);
-
-	CBlockTransformation* encryptor = NULL;
-	CBlockTransformation* decryptor = NULL;
-
-	iEncryptor =0;
-	iDecryptor =0;
-
-	switch (iCipherType)
-	{
-		case (EDESECB):
-		{
-			//If the test is weak key test
-			if(iExpectedWeakResult == KErrWeakKey)
-				{
-				//we expect to leave with KErrWeakKey reason
-				if(CDES::IsWeakKey(iKey->Des()))
-					{
-					User::Leave(KErrWeakKey);
-					}
-				else //test is unsuccessful, leave with a different reason
-					{
-					User::Leave(KErrGeneral);
-					}	
-				}
-			encryptor = CDESEncryptor::NewLC(iKey->Des());
-			decryptor = CDESDecryptor::NewL(iKey->Des());
-			CleanupStack::Pop(encryptor);
-		}
-		break;
-		case (EDESCBC):
-		{
-			CBlockTransformation* desEncryptor = NULL;
-			CBlockTransformation* desDecryptor = NULL;
-			
-			if(iExpectedWeakResult == KErrWeakKey)
-				{
-				if(CDES::IsWeakKey(iKey->Des()))
-					{
-					User::Leave(KErrWeakKey);
-					}
-				else
-					{
-					User::Leave(KErrGeneral);
-					}	
-				}
-			desEncryptor = CDESEncryptor::NewLC(iKey->Des());
-			desDecryptor = CDESDecryptor::NewLC(iKey->Des());
-			
-			encryptor = CModeCBCEncryptor::NewL(desEncryptor, iIV->Des());
-			CleanupStack::PushL(encryptor);
-			decryptor = CModeCBCDecryptor::NewL(desDecryptor, iIV->Des());		
-			CleanupStack::Pop(3);
-		}
-		break;
-		case (E3DESECB):
-		{
-			encryptor = C3DESEncryptor::NewLC(iKey->Des());
-			decryptor = C3DESDecryptor::NewL(iKey->Des());
-			CleanupStack::Pop(encryptor);
-		}
-		break;
-		case (E3DESCBC):
-		{
-			CBlockTransformation* the3DESencryptor = NULL;
-			CBlockTransformation* the3DESdecryptor = NULL;
-
-			the3DESencryptor = C3DESEncryptor::NewLC(iKey->Des());
-			the3DESdecryptor = C3DESDecryptor::NewLC(iKey->Des());
-			
-			encryptor = CModeCBCEncryptor::NewL(the3DESencryptor, iIV->Des());
-			CleanupStack::PushL(encryptor);
-			decryptor = CModeCBCDecryptor::NewL(the3DESdecryptor, iIV->Des());		
-			CleanupStack::Pop(3);
-		}
-		break;
-		case (EAESECB):
-		{
-			encryptor = CAESEncryptor::NewLC(iKey->Des());
-			decryptor = CAESDecryptor::NewL(iKey->Des());
-			CleanupStack::Pop(encryptor);
-		}
-		break;
-		case (ERC2ECB):
-		{
-			encryptor = CRC2Encryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
-			decryptor = CRC2Decryptor::NewL(iKey->Des(), iEffectiveKeyLen);
-			CleanupStack::Pop(encryptor);
-		}
-		break;
-		case (ERC2CBC):
-		{
-			encryptor = CRC2Encryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
-			decryptor = CRC2Decryptor::NewL(iKey->Des(), iEffectiveKeyLen);
-			CleanupStack::Pop(encryptor);
-		}
-		break;
-		case (ERC4):
-		{
-			iEncryptor = CARC4::NewL(*iKey, 0); 
-			iDecryptor = CARC4::NewL(*iKey, 0); 
-		}
-		break;
-		case (ECipherNull):
-		{
-			iEncryptor = CNullCipher::NewL(); 
-			iDecryptor = CNullCipher::NewL(); 
-		}
-		break;	
-		default:
-			ASSERT(0);
-			User::Leave(KErrNotSupported);
-	}
-
-	CleanupStack::PushL(encryptor);
-	CleanupStack::PushL(decryptor);
-	if(!iEncryptor && !iDecryptor)
-		{
-		CPaddingSSLv3* dPadding = CPaddingSSLv3::NewLC(decryptor->BlockSize());
-		CPaddingSSLv3* ePadding = CPaddingSSLv3::NewLC(encryptor->BlockSize());
-		iEncryptor = CBufferedEncryptor::NewL(encryptor, ePadding);
-		CleanupStack::Pop(ePadding);
-		iDecryptor = CBufferedDecryptor::NewL(decryptor, dPadding);
-		CleanupStack::Pop(dPadding);
-		}
-
-	CleanupStack::Pop(2, encryptor);
-
-	iEResult = HBufC8::NewMaxL(iEncryptor->MaxFinalOutputLength(iInput->Length()));
-	iDResult = HBufC8::NewMaxL(iDecryptor->MaxFinalOutputLength(iEResult->Size()));
-}
-
-void CActionIncremental::DoPerformActionL()
-	{
-	TRAPD(res, DoDoPerformActionL())
-	if(res == KErrNoMemory)
-		{
-		iEncryptor->Reset();
-		iDecryptor->Reset();
-		}
-	}
-
-void CActionIncremental::DoDoPerformActionL()
-{
-	__UHEAP_MARK;
-	iResult = ETrue;
-	TPtr8 eResultActual = iEResult->Des();
-	eResultActual.FillZ(eResultActual.MaxLength());
-	eResultActual.SetLength(0);
-
-	TPtr8 dResultActual = iDResult->Des();
-	dResultActual.FillZ(dResultActual.MaxLength());
-	dResultActual.SetLength(0);
-
-	TInt len = iInput->Length();
-	for(TInt i=1; i<len; i++)
-	{
-		TInt j = 0;
-		for(; j+i<len; j+=i)
-		{//	encryption in blocks of size i
-			iEncryptor->Process(iInput->Mid(j,i), eResultActual);
-		}
-	
-		iEncryptor->ProcessFinalL(iInput->Mid(j), eResultActual);
-		
-		j=0;
-		for(; (j+(len-i))<len; j+=(len-i))
-		{//	Decryption in blocks of size (len - i)
-			iDecryptor->Process(eResultActual.Mid(j, len-i), dResultActual);
-		}
-		
-		iDecryptor->ProcessFinalL(eResultActual.Mid(j), dResultActual);
-		
-		if(dResultActual != *iInput)
-		{
-			iResult = EFalse;
-		}
-		
-		eResultActual.FillZ(eResultActual.MaxLength());
-		dResultActual.FillZ(dResultActual.MaxLength());
-		eResultActual.SetLength(0);
-		dResultActual.SetLength(0);
-	}
-	__UHEAP_MARKEND;
-
-}
-