cryptoservices/certificateandkeymgmt/twtlscert/TestChain.h
changeset 0 2c201484c85f
child 8 35751d3474b7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cryptoservices/certificateandkeymgmt/twtlscert/TestChain.h	Wed Jul 08 11:25:26 2009 +0100
@@ -0,0 +1,104 @@
+/*
+* 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: 
+*
+*/
+
+
+#if !defined(__E32STD_H__)
+#include <e32std.h>
+#endif
+
+#if !defined (__BADESCA_H__)
+#include <badesca.h>
+#endif
+
+#include <wtlscertchain.h>
+
+/* Chain Orders:
+	1) unstructured text, no T=CA chains
+	Canadian Universities
+	Waterloo noTCA
+	Laurier noTCA
+	McMaster noTCA
+	Guelph noTCA
+
+	2) proper x509 text with T=ca
+	Canadian Universities
+	Waterloo
+	McMaster
+	Guelph
+	Queens
+	Ottawa
+	Lakehead
+	Laurier
+
+	3) proper structured text with T=ca
+	Canadian Hockey Teams
+	Toronto Maple Leafs
+	Ottawa Senators
+	Montreal Canadiens
+	Winnipeg Jets (missing common name)
+	Vancouver Canucks
+*/
+
+class CTestChain : public CBase
+	{
+public:
+	~CTestChain();
+	CTestChain();
+	virtual void ConstructL();
+	CDesCArray* iServerCerts;
+	CDesCArray* iServerLabels;
+	CDesCArray* iRootCerts;
+	CDesCArray* iRootLabels;
+	CDesCArray* iExtraCerts;
+	CDesCArray* iExtraLabels;
+	};
+			
+class CTestChainBuild : public CTestChain
+	{
+public:
+	static CTestChainBuild* NewL();
+	static CTestChainBuild* NewLC();
+	~CTestChainBuild();
+	HBufC* iCorrectChain;
+	};
+
+class CTestChainValidate : public CTestChain
+	{
+public:
+	static CTestChainValidate* NewL();
+	static CTestChainValidate* NewLC();
+	void ConstructL();
+
+	// warning:
+	//We have test certificates issued at different times in such a way that test validating
+	// these certificates with the same date will result in at least some of them being out
+	// of their validity period 
+	//Old certificates == 0 and should be validated with a date of July 2000
+	//New certificates == 1 and should be validated with a date of July 2002
+	//This defaults to 0 in the constructor
+	TInt iDateIssued;
+
+	~CTestChainValidate();
+	TWTLSValidationStatus* iError;
+	CArrayFixFlat<TWTLSValidationStatus>* iWarnings;
+	void AddChainL(const TDesC& aValues);
+	void AddIOL(const TDesC& aValues);
+	void AddDateIssued(const TDesC& aValues);
+private:
+	TBool AddRootL(const TDesC& aBuf);
+	TBool AddServerL(const TDesC& aBuf);
+	};