cryptoservices/certificateandkeymgmt/tpkcs7/tcmsstep.h
changeset 8 35751d3474b7
parent 0 2c201484c85f
--- a/cryptoservices/certificateandkeymgmt/tpkcs7/tcmsstep.h	Tue Jul 21 01:04:32 2009 +0100
+++ b/cryptoservices/certificateandkeymgmt/tpkcs7/tcmsstep.h	Thu Sep 10 14:01:51 2009 +0300
@@ -1,186 +1,184 @@
-/*
-* Copyright (c) 2006-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: 
-*
-*/
-
-
-
-
-/**
- @file 
- @internalTechnology
-*/
-
-#ifndef TCMSSTEP_H
-#define TCMSSTEP_H
-
-#include <testexecutestepbase.h>
-#include "tpkcs7server.h"
-#include <x509cert.h>
-#include <cmssignerinfo.h>
-
-
-class CDecPKCS8Data;
-class MPKCS8DecodedKeyPairData;
-class CRSAPrivateKey;
-class CDSAPrivateKey;
-class CMessageDigest;
-class CASN1EncBase;
-class CCmsSignedObject;
-class CEncapsulatedContentInfo;
-class CCmsSignerInfo;
-
-
-/**
-The base class for testing CMS data types
-*/
-class CTCmsBaseStep : public CTestStep
-	{
-public:
-	CTCmsBaseStep();
-	~CTCmsBaseStep();
-	TVerdict doTestStepL();
-	TVerdict doTestStepPreambleL();
-	
-protected:
-	HBufC8*	readFileL (TPtrC tag);
-	HBufC8* CreateDEREncodingLC(const CASN1EncBase& aEncoding);
-	void OutputResultToFileL(const TDesC8& aSignature);
-	TVerdict doOOMTestL();
-	virtual void doTestL() = 0;
-	TInt CovertContentDataTypeNameToDataType(const TDesC& aDataTypeName);
-	
-protected:
-	RFs	iFs;
-	HBufC8*	iDataContent;
-	TInt iExpectedDataType;
-	HBufC8* iExpectedEncoding;
-	TInt iExpectedResult;
-	TBool iIsOOMTest;		
-	};
-
-/**
-The class for testing CMS Content Info
-*/
-class CTCmsContentInfoDecodingStep : public CTCmsBaseStep
-	{
-public:
-	CTCmsContentInfoDecodingStep();
-	~CTCmsContentInfoDecodingStep();
-	void doTestL();		
-	};
-
-/**
-The class for testing CMS data type
-*/
-class CTCmsDataStep : public CTCmsBaseStep
-	{
-public:
-	CTCmsDataStep();
-	~CTCmsDataStep();
-	void doTestL();
-protected:
-	void DecodingAndCheckL(TDesC8& aRawData);
-	};
-
-/**
-The class for testing CMS data type Decoding
-*/
-class CTCmsDataDecodingStep : public CTCmsDataStep
-	{
-public:
-	CTCmsDataDecodingStep();
-	~CTCmsDataDecodingStep();
-	void doTestL();
-	};
-
-/**
-The base class for testing CMS signed data and PKCS7 signed data
-encoding, decoding and validation. OOM test is configurable in this
-test base step
-*/
-class CTSignedDataBaseStep : public CTCmsBaseStep
-	{
-public:
-	CTSignedDataBaseStep();
-	~CTSignedDataBaseStep();
-	TVerdict doTestStepPreambleL();
-	
-protected:
-	CMessageDigest* CreateHashLC(TAlgorithmId aAlgorithmId);
-	TInt CovertHashNameToAlgorithmId(const TDesC& aHashName);
-	TInt CovertCertificateNameToCertificateType(const TDesC& aCertificateName);
-	
-protected:	
-	RPointerArray<CDecPKCS8Data> iDecPKCS8Data;
-	RPointerArray<CX509Certificate> iCertificates;
-	RArray<TInt> iSignerInfoVersion;
-	RArray<TInt> iHashName;
-	RArray<TBool> iValidateResults;
-	RArray<TBool> iSignedAttributePresent;
-	RArray<TBool> iUnSignedAttributePresent;
-	TInt iContentType;
-	TBool iIsHashAvailable;
-	TBool iIsDetached;
-	TBool iTwoStepCreation;
-	TBool iRsaAlgorithm;
-	TBool iCertificateSetPresent;
-	TBool iCRLsSetPresent;
-	TInt iSignedDataVersion;
-	TInt iAlgorithmCount;
-	TInt iCertsCount;
-	TInt iSignerCount;
-	CX509Certificate* iRootCertificate;
-	CX509Certificate* iAdditionalCertificate;
-	TBool iNoCertSet;
-	TBool iValidateUsingUserCerts;
-	TBool iNoSigning;
-	TInt iAdditionalEncodedCertificateType;
-	HBufC8* iAdditionalEncodedCertificate;
-	TBool iNoValidationTest;
-	TBool iValidationDetachedWithoutInput;
-	};
-
-/**
-The class test encoding, decoding and validation of the CMS signed data object
-*/
-class CTCmsSignedDataStep : public CTSignedDataBaseStep
-	{
-public:
-	CTCmsSignedDataStep();
-	~CTCmsSignedDataStep();
-	void doTestL();
-	
-protected:
-	void CheckAndValidateSignedDataL(TDesC8& aRawData);
-	void CheckSignedDataFieldsL(const CCmsSignedObject& aSignedData);
-	void CheckEncapsulatedContentFieldsL(const CEncapsulatedContentInfo& encapContentInfo);
-	void CheckAlgorithmSetFieldsL(const RPointerArray<CX509AlgorithmIdentifier>& aAlgorithms);
-	void CheckCertificateSetFieldsL(const CCmsSignedObject& aSignedData);
-	void CheckSignerInfoFieldsL(const RPointerArray<CCmsSignerInfo>& signerInfos);
-	};
-
-/**
-The class test decoding and validation of the CMS signed data object
-*/
-class CTCmsSignedDataDecodingStep : public CTCmsSignedDataStep
-	{
-public:
-	CTCmsSignedDataDecodingStep();
-	~CTCmsSignedDataDecodingStep();
-	void doTestL();
-	};
-
-#endif //TCMSSTEP_H
+/*
+* Copyright (c) 2006-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: 
+*
+*/
+
+
+/**
+ @file 
+ @internalTechnology
+*/
+
+#ifndef TCMSSTEP_H
+#define TCMSSTEP_H
+
+#include <test/testexecutestepbase.h>
+#include "tpkcs7server.h"
+#include <x509cert.h>
+#include <cmssignerinfo.h>
+
+
+class CDecPKCS8Data;
+class MPKCS8DecodedKeyPairData;
+class CRSAPrivateKey;
+class CDSAPrivateKey;
+class CMessageDigest;
+class CASN1EncBase;
+class CCmsSignedObject;
+class CEncapsulatedContentInfo;
+class CCmsSignerInfo;
+
+
+/**
+The base class for testing CMS data types
+*/
+class CTCmsBaseStep : public CTestStep
+	{
+public:
+	CTCmsBaseStep();
+	~CTCmsBaseStep();
+	TVerdict doTestStepL();
+	TVerdict doTestStepPreambleL();
+	
+protected:
+	HBufC8*	readFileL (TPtrC tag);
+	HBufC8* CreateDEREncodingLC(const CASN1EncBase& aEncoding);
+	void OutputResultToFileL(const TDesC8& aSignature);
+	TVerdict doOOMTestL();
+	virtual void doTestL() = 0;
+	TInt CovertContentDataTypeNameToDataType(const TDesC& aDataTypeName);
+	
+protected:
+	RFs	iFs;
+	HBufC8*	iDataContent;
+	TInt iExpectedDataType;
+	HBufC8* iExpectedEncoding;
+	TInt iExpectedResult;
+	TBool iIsOOMTest;		
+	};
+
+/**
+The class for testing CMS Content Info
+*/
+class CTCmsContentInfoDecodingStep : public CTCmsBaseStep
+	{
+public:
+	CTCmsContentInfoDecodingStep();
+	~CTCmsContentInfoDecodingStep();
+	void doTestL();		
+	};
+
+/**
+The class for testing CMS data type
+*/
+class CTCmsDataStep : public CTCmsBaseStep
+	{
+public:
+	CTCmsDataStep();
+	~CTCmsDataStep();
+	void doTestL();
+protected:
+	void DecodingAndCheckL(TDesC8& aRawData);
+	};
+
+/**
+The class for testing CMS data type Decoding
+*/
+class CTCmsDataDecodingStep : public CTCmsDataStep
+	{
+public:
+	CTCmsDataDecodingStep();
+	~CTCmsDataDecodingStep();
+	void doTestL();
+	};
+
+/**
+The base class for testing CMS signed data and PKCS7 signed data
+encoding, decoding and validation. OOM test is configurable in this
+test base step
+*/
+class CTSignedDataBaseStep : public CTCmsBaseStep
+	{
+public:
+	CTSignedDataBaseStep();
+	~CTSignedDataBaseStep();
+	TVerdict doTestStepPreambleL();
+	
+protected:
+	CMessageDigest* CreateHashLC(TAlgorithmId aAlgorithmId);
+	TInt CovertHashNameToAlgorithmId(const TDesC& aHashName);
+	TInt CovertCertificateNameToCertificateType(const TDesC& aCertificateName);
+	
+protected:	
+	RPointerArray<CDecPKCS8Data> iDecPKCS8Data;
+	RPointerArray<CX509Certificate> iCertificates;
+	RArray<TInt> iSignerInfoVersion;
+	RArray<TInt> iHashName;
+	RArray<TBool> iValidateResults;
+	RArray<TBool> iSignedAttributePresent;
+	RArray<TBool> iUnSignedAttributePresent;
+	TInt iContentType;
+	TBool iIsHashAvailable;
+	TBool iIsDetached;
+	TBool iTwoStepCreation;
+	TBool iRsaAlgorithm;
+	TBool iCertificateSetPresent;
+	TBool iCRLsSetPresent;
+	TInt iSignedDataVersion;
+	TInt iAlgorithmCount;
+	TInt iCertsCount;
+	TInt iSignerCount;
+	CX509Certificate* iRootCertificate;
+	CX509Certificate* iAdditionalCertificate;
+	TBool iNoCertSet;
+	TBool iValidateUsingUserCerts;
+	TBool iNoSigning;
+	TInt iAdditionalEncodedCertificateType;
+	HBufC8* iAdditionalEncodedCertificate;
+	TBool iNoValidationTest;
+	TBool iValidationDetachedWithoutInput;
+	};
+
+/**
+The class test encoding, decoding and validation of the CMS signed data object
+*/
+class CTCmsSignedDataStep : public CTSignedDataBaseStep
+	{
+public:
+	CTCmsSignedDataStep();
+	~CTCmsSignedDataStep();
+	void doTestL();
+	
+protected:
+	void CheckAndValidateSignedDataL(TDesC8& aRawData);
+	void CheckSignedDataFieldsL(const CCmsSignedObject& aSignedData);
+	void CheckEncapsulatedContentFieldsL(const CEncapsulatedContentInfo& encapContentInfo);
+	void CheckAlgorithmSetFieldsL(const RPointerArray<CX509AlgorithmIdentifier>& aAlgorithms);
+	void CheckCertificateSetFieldsL(const CCmsSignedObject& aSignedData);
+	void CheckSignerInfoFieldsL(const RPointerArray<CCmsSignerInfo>& signerInfos);
+	};
+
+/**
+The class test decoding and validation of the CMS signed data object
+*/
+class CTCmsSignedDataDecodingStep : public CTCmsSignedDataStep
+	{
+public:
+	CTCmsSignedDataDecodingStep();
+	~CTCmsSignedDataDecodingStep();
+	void doTestL();
+	};
+
+#endif //TCMSSTEP_H