diff -r 641f389e9157 -r a71299154b21 crypto/weakcrypto/source/padding/pkcs7.cpp --- a/crypto/weakcrypto/source/padding/pkcs7.cpp Tue Aug 31 17:00:08 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -/* -* Copyright (c) 2003-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 -#include -#include - -/* CPaddingPKCS7 */ -EXPORT_C CPaddingPKCS7* CPaddingPKCS7::NewL(TInt aBlockBytes) - { - __ASSERT_ALWAYS(aBlockBytes > 0, User::Leave(KErrArgument)); - return new(ELeave)CPaddingPKCS7(aBlockBytes); - } - -EXPORT_C CPaddingPKCS7* CPaddingPKCS7::NewLC(TInt aBlockBytes) - { - CPaddingPKCS7* self = CPaddingPKCS7::NewL(aBlockBytes); - CleanupStack::PushL(self); - return self; - } - -EXPORT_C CPaddingPKCS7::CPaddingPKCS7(TInt aBlockBytes):CPadding(aBlockBytes) - { - } - -void CPaddingPKCS7::DoPadL(const TDesC8& aInput,TDes8& aOutput) - { - TInt paddingBytes = BlockSize()-(aInput.Length()%BlockSize()); - aOutput.Append(aInput); - aOutput.SetLength(aOutput.Length()+paddingBytes); - for (TInt i=1;i<=paddingBytes;i++) - { - aOutput[aOutput.Length()-i]=(TUint8)(paddingBytes); - } - } - -void CPaddingPKCS7::UnPadL(const TDesC8& aInput,TDes8& aOutput) - { - TUint inputLen = aInput.Length(); - TUint paddingLen = (TUint)(aInput[inputLen - 1]); - - if (paddingLen > inputLen) - { - User::Leave(KErrInvalidPadding); - } - - TInt outlen = aInput.Length() - paddingLen; - - __ASSERT_DEBUG(aOutput.MaxLength() >= outlen, User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow)); - - aOutput.Append(aInput.Left(outlen)); - for (TInt i=outlen;i