cryptoservices/certificateandkeymgmt/inc/x509certchain.h
changeset 8 35751d3474b7
parent 0 2c201484c85f
--- a/cryptoservices/certificateandkeymgmt/inc/x509certchain.h	Tue Jul 21 01:04:32 2009 +0100
+++ b/cryptoservices/certificateandkeymgmt/inc/x509certchain.h	Thu Sep 10 14:01:51 2009 +0300
@@ -1,191 +1,183 @@
-/*
-* 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: 
-* X509 certificate chain and the validation status implementations
-*
-*/
-
-
-
-
-/**
- @file 
- @publishedAll
- @released
-*/
- 
-#ifndef __X509CERTCHAIN_H__
-#define __X509CERTCHAIN_H__
-
-#include <e32std.h>
-#include <x509cert.h>
-#include <ct.h>
-
-class TValidationStatus
-/** The validation status.
-* 
-* Some errors cannot be blamed on any single certificate, in which case the 
-* iCert value is meaningless. The same structure is used for errors and for 
-* warnings. 
-* 
-* @publishedAll
-* @released
-* @since v6.0 */
-	{
-public:
-	/** Creates a validation status object.	
-	* 
-	* @param aError	The error type that occurred when validating the certificate chain.
-	* @param aCert	The index number identifying the certificate that gave rise to 
-	* 				the error. */
-	IMPORT_C TValidationStatus(const TValidationError aError, const TInt aCert);
-	
-	/** The reason for the error. */
-	TValidationError iReason;
-	
-	/** The index number identifying the certificate that gave rise to the error. */
-	TInt iCert;
-	};
-
-class CX509CertChain : public CBase
-/** Abstract base class for X.509 certificate chain validation; 
-* derive from this to suit your profile.
-* 
-* @publishedAll
-* @released
-* @since v6.0 */
-	{
-public:
-	/** Gets the number of certificates in the chain.	
-	* 
-	* @return	The number of certificates in the chain. */
-	IMPORT_C TInt Count() const;
-	
-	/** Gets the certificate identified by the specified index.
-	* Note that Cert(Count()) corresponds to the root (if any)
-	* whilst Cert(0) corresponds to the outmost certificate in the chain.
-	*
-	* @param aIndex	The ordinal number representing the position of the certificate 
-	* 				within the chain.
-	* @return		The X.509 certificate at the specified index. */
-	IMPORT_C const CX509Certificate& Cert(TInt aIndex) const;
-	
-	/** Decodes the individual elements of the signed data to construct the certificates.
-	* 
-	* @param aBinaryData	The encoded binary representation.
-	* @return				The certificate objects. */
-	IMPORT_C CArrayPtrFlat<CX509Certificate>* CX509CertChain::DecodeCertsL(const TDesC8& aBinaryData);
-	
-	/** Destructor.
-	* 
-	* Frees all resources owned by the object, prior to its destruction. */
-	IMPORT_C ~CX509CertChain();
-
-	/** Tests whether the specified X.509 certificate chain is equal to this X.509 
-	* certificate chain.
-	* 
-	* @param aOther	The X.509 certificate chain to be compared.
-	* @return		ETrue, if the certificate chains are equal;EFalse, otherwise. */
-	IMPORT_C TBool IsEqualL(const CX509CertChain& aOther) const;
-protected:
-	//certificate chain
-	CArrayPtrFlat<CX509Certificate>* iChain;
-private:
-	static void CleanupCertArray(TAny* aArray);
-	};
-	
-class CCertificateValidationWarnings : public CBase
-	/** Encapsulates the critical extensions encountered and any warnings found
-	* for a particular certificate in the chain during the process of validation.
-	* 
-	* @publishedAll
-	* @released
-	* @since v9.5 */
-		{
-	public:
-		/** Creates an instance of CCertificateValidationWarnings.
-		* 
-		* @param aIndex	The index of aCert in the certificate chain.
-		* @return	A pointer to the new CCertificateWarning object. */	
-		IMPORT_C static CCertificateValidationWarnings* NewL(TInt aIndex);
-
-		/** Creates an instance of CCertificateValidationWarnings.
-		* 
-		* @param aIndex	The index of aCert in the certificate chain.
-		* @return	A pointer to the new CCertificateWarning object. */	
-		IMPORT_C static CCertificateValidationWarnings* NewLC(TInt aIndex);		
-		
-		/** Gets a list of critical extension OIDs found in the certificate.
-		* 
-		* @return	An array of critical extensions found. */		
-		IMPORT_C const RPointerArray<TDesC>& CriticalExtensionsFound() const;
-		
-		/** Gets a list of warnings generated by the certificate.
-		* 
-		* @return	An array of warnings generated. */	
-		IMPORT_C const RArray<TValidationStatus>& Warnings() const;
-		
-		/** Gets the index of the certificate in the chain.
-		* 
-		* @return	The certificate index number. */		
-		IMPORT_C TInt CertIndex() const;
-		
-		/** Externalises an object of this class to a write stream.
-		* 
-		* The presence of this function means that the standard templated operator<<() 
-		* can be used to externalise objects of this class.
-		* 
-		* @param aStream    Stream to which the object should be externalised. */
-		IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-		
-		/** Internalises an object of this class from a read stream.
-		* 
-		* The presence of this function means that the standard templated operator>>() 
-		* can be used to internalise objects of this class.
-		* 
-		* Note that this function has assignment semantics: it replaces the old value 
-		* of the object with a new value read from the read stream. 
-		* 
-		* @param aStream    Stream from which the object should be internalised. 
-		* @return A pointer to the new CCertificateWarning object. */
-		IMPORT_C static CCertificateValidationWarnings* InternalizeL(RReadStream& aStream);
-		
-		/** The destructor.
-		* 
-		* Frees all resources owned by the object. */
-		IMPORT_C ~CCertificateValidationWarnings();
-		
-	public:
-		/** Adds a warning.
-		* 
-		* @internalComponent
-		* @released */
-		IMPORT_C void AppendWarningL(TValidationStatus aWarning);
-		
-		/** Adds a critical extension OID warning.
-		* 
-		* @internalComponent
-		* @released */
-		IMPORT_C void AppendCriticalExtensionWarningL(TDesC& aCriticalExt);
-		
-	private:
-		CCertificateValidationWarnings(TInt aIndex);
-	
-	private:
-		TInt iCertIndex;
-		RPointerArray<TDesC> iCriticalExtsFound;
-		RArray<TValidationStatus> iWarnings;
-		};
-
-#endif
+/*
+* 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: 
+* X509 certificate chain and the validation status implementations
+*
+*/
+
+
+/**
+ @file 
+ @publishedAll
+ @released
+*/
+ 
+#ifndef __X509CERTCHAIN_H__
+#define __X509CERTCHAIN_H__
+
+#include <e32std.h>
+#include <x509cert.h>
+#include <ct.h>
+
+class TValidationStatus
+/** The validation status.
+* 
+* Some errors cannot be blamed on any single certificate, in which case the 
+* iCert value is meaningless. The same structure is used for errors and for 
+* warnings. 
+* 
+* @since v6.0 */
+	{
+public:
+	/** Creates a validation status object.	
+	* 
+	* @param aError	The error type that occurred when validating the certificate chain.
+	* @param aCert	The index number identifying the certificate that gave rise to 
+	* 				the error. */
+	IMPORT_C TValidationStatus(const TValidationError aError, const TInt aCert);
+	
+	/** The reason for the error. */
+	TValidationError iReason;
+	
+	/** The index number identifying the certificate that gave rise to the error. */
+	TInt iCert;
+	};
+
+class CX509CertChain : public CBase
+/** Abstract base class for X.509 certificate chain validation; 
+* derive from this to suit your profile.
+* 
+* @since v6.0 */
+	{
+public:
+	/** Gets the number of certificates in the chain.	
+	* 
+	* @return	The number of certificates in the chain. */
+	IMPORT_C TInt Count() const;
+	
+	/** Gets the certificate identified by the specified index.
+	* Note that Cert(Count()) corresponds to the root (if any)
+	* whilst Cert(0) corresponds to the outmost certificate in the chain.
+	*
+	* @param aIndex	The ordinal number representing the position of the certificate 
+	* 				within the chain.
+	* @return		The X.509 certificate at the specified index. */
+	IMPORT_C const CX509Certificate& Cert(TInt aIndex) const;
+	
+	/** Decodes the individual elements of the signed data to construct the certificates.
+	* 
+	* @param aBinaryData	The encoded binary representation.
+	* @return				The certificate objects. */
+	IMPORT_C CArrayPtrFlat<CX509Certificate>* DecodeCertsL(const TDesC8& aBinaryData);
+	
+	/** Destructor.
+	* 
+	* Frees all resources owned by the object, prior to its destruction. */
+	IMPORT_C ~CX509CertChain();
+
+	/** Tests whether the specified X.509 certificate chain is equal to this X.509 
+	* certificate chain.
+	* 
+	* @param aOther	The X.509 certificate chain to be compared.
+	* @return		ETrue, if the certificate chains are equal;EFalse, otherwise. */
+	IMPORT_C TBool IsEqualL(const CX509CertChain& aOther) const;
+protected:
+	//certificate chain
+	CArrayPtrFlat<CX509Certificate>* iChain;
+private:
+	static void CleanupCertArray(TAny* aArray);
+	};
+	
+class CCertificateValidationWarnings : public CBase
+	/** Encapsulates the critical extensions encountered and any warnings found
+	* for a particular certificate in the chain during the process of validation.
+	* 
+	* @since v9.5 */
+		{
+	public:
+		/** Creates an instance of CCertificateValidationWarnings.
+		* 
+		* @param aIndex	The index of aCert in the certificate chain.
+		* @return	A pointer to the new CCertificateWarning object. */	
+		IMPORT_C static CCertificateValidationWarnings* NewL(TInt aIndex);
+
+		/** Creates an instance of CCertificateValidationWarnings.
+		* 
+		* @param aIndex	The index of aCert in the certificate chain.
+		* @return	A pointer to the new CCertificateWarning object. */	
+		IMPORT_C static CCertificateValidationWarnings* NewLC(TInt aIndex);		
+		
+		/** Gets a list of critical extension OIDs found in the certificate.
+		* 
+		* @return	An array of critical extensions found. */		
+		IMPORT_C const RPointerArray<TDesC>& CriticalExtensionsFound() const;
+		
+		/** Gets a list of warnings generated by the certificate.
+		* 
+		* @return	An array of warnings generated. */	
+		IMPORT_C const RArray<TValidationStatus>& Warnings() const;
+		
+		/** Gets the index of the certificate in the chain.
+		* 
+		* @return	The certificate index number. */		
+		IMPORT_C TInt CertIndex() const;
+		
+		/** Externalises an object of this class to a write stream.
+		* 
+		* The presence of this function means that the standard templated operator<<() 
+		* can be used to externalise objects of this class.
+		* 
+		* @param aStream    Stream to which the object should be externalised. */
+		IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
+		
+		/** Internalises an object of this class from a read stream.
+		* 
+		* The presence of this function means that the standard templated operator>>() 
+		* can be used to internalise objects of this class.
+		* 
+		* Note that this function has assignment semantics: it replaces the old value 
+		* of the object with a new value read from the read stream. 
+		* 
+		* @param aStream    Stream from which the object should be internalised. 
+		* @return A pointer to the new CCertificateWarning object. */
+		IMPORT_C static CCertificateValidationWarnings* InternalizeL(RReadStream& aStream);
+		
+		/** The destructor.
+		* 
+		* Frees all resources owned by the object. */
+		IMPORT_C ~CCertificateValidationWarnings();
+		
+	public:
+		/** Adds a warning.
+		* 
+	    */
+		IMPORT_C void AppendWarningL(TValidationStatus aWarning);
+		
+		/** Adds a critical extension OID warning.
+		* 
+		*/
+		IMPORT_C void AppendCriticalExtensionWarningL(TDesC& aCriticalExt);
+		
+	private:
+		CCertificateValidationWarnings(TInt aIndex);
+	
+	private:
+		TInt iCertIndex;
+		RPointerArray<TDesC> iCriticalExtsFound;
+		RArray<TValidationStatus> iWarnings;
+		};
+
+#endif
+
+