sl@0: /* sl@0: * Copyright (c) 2002-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: * Vector tests for RSA ciphers sl@0: * sl@0: */ sl@0: sl@0: sl@0: #ifndef __TRSAVECTOR_H__ sl@0: #define __TRSAVECTOR_H__ sl@0: sl@0: #include "tvectortest.h" sl@0: sl@0: /** sl@0: * Runs RSA encryption vectors. sl@0: */ sl@0: sl@0: class CRSAEncryptVector : public CVectorTest sl@0: { sl@0: public: sl@0: static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: virtual ~CRSAEncryptVector(); sl@0: protected: sl@0: virtual void DoPerformActionL(); sl@0: virtual void DoPerformanceTestActionL(); sl@0: private: sl@0: CRSAEncryptVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: void ConstructL(const TTestActionSpec& aTestActionSpec); sl@0: sl@0: CRSAPublicKey* iPubKey; sl@0: HBufC8* iPlaintext; sl@0: HBufC8* iCiphertext; sl@0: }; sl@0: sl@0: /** sl@0: * Runs RSA decryption vectors. sl@0: */ sl@0: sl@0: class CRSADecryptVector : public CVectorTest sl@0: { sl@0: public: sl@0: static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: virtual ~CRSADecryptVector(); sl@0: protected: sl@0: virtual void DoPerformActionL(); sl@0: virtual void DoPerformanceTestActionL(); sl@0: private: sl@0: CRSADecryptVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: void ConstructL(const TTestActionSpec& aTestActionSpec); sl@0: sl@0: CRSAPrivateKey* iPrivKey; sl@0: HBufC8* iCiphertext; sl@0: HBufC8* iPlaintext; sl@0: }; sl@0: sl@0: sl@0: sl@0: /** sl@0: * Runs RSA decryption vectors. sl@0: */ sl@0: sl@0: class CRSADecryptVectorCRT : public CVectorTest sl@0: { sl@0: public: sl@0: static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: virtual ~CRSADecryptVectorCRT(); sl@0: protected: sl@0: virtual void DoPerformActionL(); sl@0: virtual void DoPerformanceTestActionL(); sl@0: private: sl@0: CRSADecryptVectorCRT(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: void ConstructL(const TTestActionSpec& aTestActionSpec); sl@0: private: sl@0: CRSAPrivateKey* iPrivKey; sl@0: HBufC8* iCiphertext; sl@0: HBufC8* iPlaintext; sl@0: }; sl@0: sl@0: /** sl@0: * Runs RSA signing vectors. sl@0: */ sl@0: sl@0: class CRSASignVector : public CVectorTest sl@0: { sl@0: public: sl@0: static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: virtual ~CRSASignVector(); sl@0: protected: sl@0: virtual void DoPerformActionL(); sl@0: virtual void DoPerformanceTestActionL(); sl@0: private: sl@0: CRSASignVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: void ConstructL(const TTestActionSpec& aTestActionSpec); sl@0: sl@0: CRSAPrivateKey* iPrivKey; sl@0: HBufC8* iDigestInfo; sl@0: CRSASignature* iSignature; sl@0: }; sl@0: sl@0: class CRSASignVectorCRT : public CVectorTest sl@0: { sl@0: public: sl@0: static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: virtual ~CRSASignVectorCRT(); sl@0: protected: sl@0: virtual void DoPerformActionL(); sl@0: virtual void DoPerformanceTestActionL(); sl@0: private: sl@0: CRSASignVectorCRT(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: void ConstructL(const TTestActionSpec& aTestActionSpec); sl@0: sl@0: CRSAPrivateKey* iPrivKey; sl@0: HBufC8* iDigestInfo; sl@0: CRSASignature* iSignature; sl@0: }; sl@0: /** sl@0: * Runs RSA verification vectors. sl@0: */ sl@0: sl@0: class CRSAVerifyVector : public CVectorTest sl@0: { sl@0: public: sl@0: static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: virtual ~CRSAVerifyVector(); sl@0: protected: sl@0: virtual void DoPerformActionL(); sl@0: virtual void DoPerformanceTestActionL(); sl@0: private: sl@0: CRSAVerifyVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: void ConstructL(const TTestActionSpec& aTestActionSpec); sl@0: sl@0: CRSAPublicKey* iPubKey; sl@0: HBufC8* iDigestInfo; sl@0: CRSASignature* iSignature; sl@0: }; sl@0: sl@0: #endif