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 {