epoc32/include/x509certchain.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
    13 *
    13 *
    14 * Description: 
    14 * Description: 
    15 * X509 certificate chain and the validation status implementations
    15 * X509 certificate chain and the validation status implementations
    16 *
    16 *
    17 */
    17 */
    18 
       
    19 
       
    20 
    18 
    21 
    19 
    22 /**
    20 /**
    23  @file 
    21  @file 
    24  @publishedAll
    22  @publishedAll
    37 * 
    35 * 
    38 * Some errors cannot be blamed on any single certificate, in which case the 
    36 * Some errors cannot be blamed on any single certificate, in which case the 
    39 * iCert value is meaningless. The same structure is used for errors and for 
    37 * iCert value is meaningless. The same structure is used for errors and for 
    40 * warnings. 
    38 * warnings. 
    41 * 
    39 * 
    42 * @publishedAll
       
    43 * @released
       
    44 * @since v6.0 */
    40 * @since v6.0 */
    45 	{
    41 	{
    46 public:
    42 public:
    47 	/** Creates a validation status object.	
    43 	/** Creates a validation status object.	
    48 	* 
    44 	* 
    60 
    56 
    61 class CX509CertChain : public CBase
    57 class CX509CertChain : public CBase
    62 /** Abstract base class for X.509 certificate chain validation; 
    58 /** Abstract base class for X.509 certificate chain validation; 
    63 * derive from this to suit your profile.
    59 * derive from this to suit your profile.
    64 * 
    60 * 
    65 * @publishedAll
       
    66 * @released
       
    67 * @since v6.0 */
    61 * @since v6.0 */
    68 	{
    62 	{
    69 public:
    63 public:
    70 	/** Gets the number of certificates in the chain.	
    64 	/** Gets the number of certificates in the chain.	
    71 	* 
    65 	* 
    83 	
    77 	
    84 	/** Decodes the individual elements of the signed data to construct the certificates.
    78 	/** Decodes the individual elements of the signed data to construct the certificates.
    85 	* 
    79 	* 
    86 	* @param aBinaryData	The encoded binary representation.
    80 	* @param aBinaryData	The encoded binary representation.
    87 	* @return				The certificate objects. */
    81 	* @return				The certificate objects. */
    88 	IMPORT_C CArrayPtrFlat<CX509Certificate>* CX509CertChain::DecodeCertsL(const TDesC8& aBinaryData);
    82 	IMPORT_C CArrayPtrFlat<CX509Certificate>* DecodeCertsL(const TDesC8& aBinaryData);
    89 	
    83 	
    90 	/** Destructor.
    84 	/** Destructor.
    91 	* 
    85 	* 
    92 	* Frees all resources owned by the object, prior to its destruction. */
    86 	* Frees all resources owned by the object, prior to its destruction. */
    93 	IMPORT_C ~CX509CertChain();
    87 	IMPORT_C ~CX509CertChain();
   107 	
   101 	
   108 class CCertificateValidationWarnings : public CBase
   102 class CCertificateValidationWarnings : public CBase
   109 	/** Encapsulates the critical extensions encountered and any warnings found
   103 	/** Encapsulates the critical extensions encountered and any warnings found
   110 	* for a particular certificate in the chain during the process of validation.
   104 	* for a particular certificate in the chain during the process of validation.
   111 	* 
   105 	* 
   112 	* @publishedAll
       
   113 	* @released
       
   114 	* @since v9.5 */
   106 	* @since v9.5 */
   115 		{
   107 		{
   116 	public:
   108 	public:
   117 		/** Creates an instance of CCertificateValidationWarnings.
   109 		/** Creates an instance of CCertificateValidationWarnings.
   118 		* 
   110 		* 
   167 		IMPORT_C ~CCertificateValidationWarnings();
   159 		IMPORT_C ~CCertificateValidationWarnings();
   168 		
   160 		
   169 	public:
   161 	public:
   170 		/** Adds a warning.
   162 		/** Adds a warning.
   171 		* 
   163 		* 
   172 		* @internalComponent
   164 	    */
   173 		* @released */
       
   174 		IMPORT_C void AppendWarningL(TValidationStatus aWarning);
   165 		IMPORT_C void AppendWarningL(TValidationStatus aWarning);
   175 		
   166 		
   176 		/** Adds a critical extension OID warning.
   167 		/** Adds a critical extension OID warning.
   177 		* 
   168 		* 
   178 		* @internalComponent
   169 		*/
   179 		* @released */
       
   180 		IMPORT_C void AppendCriticalExtensionWarningL(TDesC& aCriticalExt);
   170 		IMPORT_C void AppendCriticalExtensionWarningL(TDesC& aCriticalExt);
   181 		
   171 		
   182 	private:
   172 	private:
   183 		CCertificateValidationWarnings(TInt aIndex);
   173 		CCertificateValidationWarnings(TInt aIndex);
   184 	
   174 	
   187 		RPointerArray<TDesC> iCriticalExtsFound;
   177 		RPointerArray<TDesC> iCriticalExtsFound;
   188 		RArray<TValidationStatus> iWarnings;
   178 		RArray<TValidationStatus> iWarnings;
   189 		};
   179 		};
   190 
   180 
   191 #endif
   181 #endif
       
   182 
       
   183