epoc32/include/x509certext.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
     1.1 --- a/epoc32/include/x509certext.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/x509certext.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -32,11 +32,9 @@
     1.4  */
     1.5  
     1.6  
     1.7 -
     1.8 -
     1.9  /**
    1.10   @file 
    1.11 - @internalAll
    1.12 + @publishedAll
    1.13   @released
    1.14  */
    1.15  
    1.16 @@ -47,14 +45,41 @@
    1.17  #include <e32std.h>
    1.18  #include <x509gn.h>
    1.19  
    1.20 +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
    1.21 +#include <x509bitstring.h>
    1.22 +#endif
    1.23  
    1.24  class RReadStream;
    1.25  class RWriteStream;
    1.26 +class CX509BitString;
    1.27 +/** A list of values that defines what an X.509 key can be used for.
    1.28 +* These values can be ANDed together if a key has several usages. 
    1.29 +* 
    1.30 +* @since v7.0 */
    1.31 +enum TX509KeyUsage
    1.32 +	{
    1.33 +	/** A digital signature. */
    1.34 +	EX509DigitalSignature,
    1.35 +	/** Non repudiation. */
    1.36 +	EX509NonRepudiation,
    1.37 +	/** Key encipherment. */
    1.38 +	EX509KeyEncipherment,
    1.39 +	/** Data encipherment. */
    1.40 +	EX509DataEncipherment,
    1.41 +	/** Key agreement. */
    1.42 +	EX509KeyAgreement,
    1.43 +	/** Key certificate sign. */
    1.44 +	EX509KeyCertSign,
    1.45 +	/** CRL sign. */
    1.46 +	EX509CRLSign,
    1.47 +	/** Encipher only. */
    1.48 +	EX509EncipherOnly,
    1.49 +	/** Decipher only. */
    1.50 +	EX509DecipherOnly
    1.51 +	};
    1.52  
    1.53  /** X509 Extension OIDs
    1.54  * 
    1.55 -* @publishedAll
    1.56 -* @released
    1.57  * @since v9.5 */
    1.58  
    1.59  //OIDS for the extensions we define here...
    1.60 @@ -98,8 +123,6 @@
    1.61  class CX509ExtensionBase : public CBase
    1.62  /** A certificate extension base class. 
    1.63  * 
    1.64 -* @publishedAll
    1.65 -* @released
    1.66  * @since v6.0 */
    1.67  	{
    1.68  protected:
    1.69 @@ -126,8 +149,6 @@
    1.70  * It indicates whether the certificate belongs to a Certificate Authority or 
    1.71  * an end Entity. 
    1.72  * 
    1.73 -* @publishedAll
    1.74 -* @released
    1.75  * @since v6.0 */
    1.76  	{
    1.77  public:
    1.78 @@ -197,8 +218,6 @@
    1.79  * 
    1.80  * It consists of an array of X.509 General Names.
    1.81  *
    1.82 -* @publishedAll
    1.83 -* @released
    1.84  * @since v6.0 */
    1.85  	{
    1.86  public:
    1.87 @@ -259,71 +278,9 @@
    1.88  	CArrayPtrFlat<CX509GeneralName>* iAuthorityName;
    1.89  	};
    1.90  
    1.91 -//3) key usage
    1.92 -
    1.93 -class CX509BitString : public CBase
    1.94 -/** An X.509 bit string. 
    1.95 -*
    1.96 -* @internalTechnology
    1.97 -* @released
    1.98 -* @since v6.0 */
    1.99 -	{
   1.100 -public:
   1.101 -	/** Destructor.
   1.102 -	* 
   1.103 -	* Frees all resources owned by the object. */
   1.104 -	~CX509BitString();
   1.105 -	
   1.106 -	/** Tests whether the specified bit is set.
   1.107 -	* 
   1.108 -	* @param aBit	The offset of the bit to be tested. This is a value relative to 
   1.109 -	* 				zero. Any value greater than or equal to the length of the bit 
   1.110 -	*				string will always cause EFalse to be returned.
   1.111 -	* @return		ETrue, if the bit is set; EFalse, otherwise. */
   1.112 -	TBool IsSet(TInt aBit) const;
   1.113 -	
   1.114 -	/** Creates the X.509 bit string.
   1.115 -	* 
   1.116 -	* @param aData				A heap descriptor representing the bit string data.
   1.117 -	* @param aEffectiveLength	The number of bits in the string. */
   1.118 -	CX509BitString(HBufC8* aData, TInt aEffectiveLength);
   1.119 -private:
   1.120 -	HBufC8* iData;
   1.121 -	TInt iLength;
   1.122 -	};
   1.123 -
   1.124 -/** A list of values that defines what an X.509 key can be used for.
   1.125 -* These values can be ANDed together if a key has several usages. 
   1.126 -* 
   1.127 -* @internalTechnology
   1.128 -* @since v7.0 */
   1.129 -enum TX509KeyUsage
   1.130 -	{
   1.131 -	/** A digital signature. */
   1.132 -	EX509DigitalSignature,
   1.133 -	/** Non repudiation. */
   1.134 -	EX509NonRepudiation,
   1.135 -	/** Key encipherment. */
   1.136 -	EX509KeyEncipherment,
   1.137 -	/** Data encipherment. */
   1.138 -	EX509DataEncipherment,
   1.139 -	/** Key agreement. */
   1.140 -	EX509KeyAgreement,
   1.141 -	/** Key certificate sign. */
   1.142 -	EX509KeyCertSign,
   1.143 -	/** CRL sign. */
   1.144 -	EX509CRLSign,
   1.145 -	/** Encipher only. */
   1.146 -	EX509EncipherOnly,
   1.147 -	/** Decipher only. */
   1.148 -	EX509DecipherOnly
   1.149 -	};
   1.150 -
   1.151  class CX509KeyUsageExt : public CX509ExtensionBase
   1.152  /** An X.509 certificate extension that defines the uses to which a key may be put.
   1.153  * 
   1.154 -* @publishedAll
   1.155 -* @released
   1.156  * @since v6.0 */
   1.157  	{
   1.158  public:
   1.159 @@ -366,7 +323,7 @@
   1.160  	
   1.161  	/** Tests whether a particular usage is set in the extension.
   1.162  	* 
   1.163 -	* @internalTechnology
   1.164 +	* 
   1.165  	* @param aUsage	The usage.
   1.166  	* @return		ETrue, if the specific usage is set in the extension; EFalse, otherwise. */
   1.167  	IMPORT_C TBool IsSet(TX509KeyUsage aUsage) const;
   1.168 @@ -381,8 +338,6 @@
   1.169  class CX509GeneralSubtree : public CBase
   1.170  /** Provides access to the general name and the min/max lengths of the subtree. 
   1.171  * 
   1.172 -* @publishedAll
   1.173 -* @released
   1.174  * @since v6.0 */
   1.175  	{
   1.176  public:
   1.177 @@ -465,8 +420,7 @@
   1.178  * This extension allows Certification Authorities to restrict or prevent the issuing 
   1.179  * of certificates to entities whose names lie within a defined name space. 
   1.180  *
   1.181 -* @publishedAll
   1.182 -* @released */
   1.183 +*/
   1.184  	{
   1.185  public:
   1.186  	/** Creates a new CX509NameConstraintsExt object from the specified 
   1.187 @@ -544,8 +498,6 @@
   1.188  * the appearance of explicit certificate policies in subsequent certificates, 
   1.189  * and prevent policy mapping from being performed. 
   1.190  *
   1.191 -* @publishedAll
   1.192 -* @released
   1.193  */
   1.194  	{
   1.195  public:
   1.196 @@ -591,8 +543,6 @@
   1.197  * @li to enforce the appearance of explicit certificate policies in subsequent certificates
   1.198  * @li to prevent policy mapping from being performed.
   1.199  * 
   1.200 -* @publishedAll
   1.201 -* @released
   1.202  * @since v6.0 */
   1.203  	{
   1.204  public:
   1.205 @@ -654,8 +604,6 @@
   1.206  class CX509PolicyQualifierInfo : public CBase
   1.207  /** Gets X.509 policy qualifier information. 
   1.208  * 
   1.209 -* @publishedAll
   1.210 -* @released
   1.211  * @since v6.0 */
   1.212  	{
   1.213  public:
   1.214 @@ -809,8 +757,6 @@
   1.215  * of these specific policies.
   1.216  * 
   1.217  * @see CX509CertPoliciesExt 
   1.218 -* @publishedAll
   1.219 -* @released
   1.220  * @since v6.0 */
   1.221  	{
   1.222  public:
   1.223 @@ -941,8 +887,6 @@
   1.224  *
   1.225  * Contains further information on a client's signature.
   1.226  *
   1.227 -* @publishedAll
   1.228 -* @released
   1.229  * @since v6.0 */
   1.230  	{
   1.231  public:
   1.232 @@ -998,8 +942,6 @@
   1.233  class CX509PolicyMapping : public CBase
   1.234  /** A set of policy mappings. 
   1.235  * 
   1.236 -* @publishedAll
   1.237 -* @released
   1.238  * @since v6.0 */
   1.239  	{
   1.240  public:
   1.241 @@ -1086,8 +1028,6 @@
   1.242  * A policy mapping allows a Certification Authority to declare that two certificate 
   1.243  * policies are equivalent.
   1.244  *
   1.245 -* @publishedAll
   1.246 -* @released
   1.247  * @since v6.0 */
   1.248  	{
   1.249  public:
   1.250 @@ -1149,8 +1089,6 @@
   1.251  * serial number, or by a key identifier value either derived from the public 
   1.252  * key or by some method of generating unique IDs. 
   1.253  * 
   1.254 -* @publishedAll
   1.255 -* @released
   1.256  * @since v6.0 */
   1.257  	{
   1.258  public:
   1.259 @@ -1226,8 +1164,6 @@
   1.260  * It consists of a key identifier value either derived from the public key or
   1.261  * by some method of generating unique IDs.
   1.262  * 
   1.263 -* @publishedAll
   1.264 -* @released
   1.265  * @since v6.0 */
   1.266  	{
   1.267  public:
   1.268 @@ -1284,8 +1220,6 @@
   1.269  * 
   1.270  * This is referred to as the extended key usage extension. 
   1.271  * 
   1.272 -* @publishedAll
   1.273 -* @released
   1.274  * @since v6.0 */
   1.275  	{
   1.276  public:
   1.277 @@ -1345,8 +1279,6 @@
   1.278  /** This class provides the access method OID and access location as used by X.509 private internet extensions
   1.279   * (authority information access).
   1.280   *
   1.281 - * @publishedAll
   1.282 - * @released 
   1.283   */
   1.284  	{
   1.285  public:
   1.286 @@ -1426,8 +1358,6 @@
   1.287  /** An X.509 certificate extension that defines the authority information access.
   1.288   * 
   1.289   * 
   1.290 - * @publishedAll
   1.291 - * @released
   1.292   */
   1.293  
   1.294  	{