epoc32/include/x509keys.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
     1.1 --- a/epoc32/include/x509keys.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/x509keys.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -17,11 +17,10 @@
     1.4  */
     1.5  
     1.6  
     1.7 -
     1.8 -
     1.9  /**
    1.10   @file
    1.11 - @internalTechnology 
    1.12 + @publishedAll
    1.13 + @released
    1.14  */
    1.15  
    1.16  #if !defined (__X509KEYS_H__)
    1.17 @@ -41,14 +40,17 @@
    1.18  class CASN1EncSequence;
    1.19  class CASN1EncBitString;
    1.20  
    1.21 +
    1.22 +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
    1.23 +#include <x509keyencoder.h>
    1.24 +#endif
    1.25 +
    1.26  class CX509RSAPublicKey : public CRSAPublicKey
    1.27  /** Adds the capability to decode DER-encoded RSA public keys.
    1.28  *
    1.29  * Adds a commitment to a specific encoding scheme allowing X.509 RSA public key 
    1.30  * superclasses to remain encoding-independent.
    1.31  *
    1.32 -* @publishedAll
    1.33 -* @released
    1.34  *
    1.35  * @since v6.0 
    1.36  */
    1.37 @@ -95,8 +97,6 @@
    1.38  /**
    1.39   * Class for encoding RSA public keys to ASN.1 encoding.
    1.40   * 
    1.41 - * @publishedAll
    1.42 - * @released
    1.43   * @since v8.0 
    1.44   */
    1.45  	{
    1.46 @@ -120,8 +120,6 @@
    1.47  /** 
    1.48   * Class for decoding RSA public keys from ASN.1 DER encoding.
    1.49   * 
    1.50 - * @publishedAll
    1.51 - * @released
    1.52   * @since v8.0
    1.53   */
    1.54  	{
    1.55 @@ -141,8 +139,6 @@
    1.56  /** 
    1.57   * Class for decoding RSA key pairs from ASN.1 DER encoding.
    1.58   * 
    1.59 - * @publishedAll
    1.60 - * @released
    1.61   * @since v8.0
    1.62   */
    1.63  	{
    1.64 @@ -171,8 +167,6 @@
    1.65  * Adds a commitment to a specific encoding scheme allowing superclasses to remain 
    1.66  * encoding-independent. 
    1.67  * 
    1.68 -* @publishedAll
    1.69 -* @released
    1.70  * @since v6.0 
    1.71  */
    1.72  // DSA public key, params, signature.
    1.73 @@ -256,8 +250,6 @@
    1.74  /** 
    1.75   * Class for decoding DSA key pairs from ASN.1 DER encoding.
    1.76   * 
    1.77 - * @publishedAll
    1.78 - * @released
    1.79   * @since v8.0
    1.80   */
    1.81  	{
    1.82 @@ -292,8 +284,6 @@
    1.83  /**
    1.84   * Class for encoding DSA public keys to ASN.1 encoding.
    1.85   * 
    1.86 - * @publishedAll
    1.87 - * @released
    1.88   * @since v8.0
    1.89   */
    1.90  class TASN1EncDSAPublicKey
    1.91 @@ -350,8 +340,6 @@
    1.92  * Adds a commitment to a specific encoding scheme allowing superclasses to remain 
    1.93  * encoding-independent. 
    1.94  * 
    1.95 -* @publishedAll
    1.96 -* @released
    1.97  * @since v6.0 */
    1.98  	{
    1.99  public:
   1.100 @@ -394,8 +382,6 @@
   1.101  /** Provides clients with the information they need for Diffie-Hellman key exchange 
   1.102  * within a protocol. 
   1.103  * 
   1.104 -* @publishedAll
   1.105 -* @released
   1.106  * @since v6.0 */
   1.107  	{
   1.108  public:
   1.109 @@ -429,8 +415,6 @@
   1.110  class CX509DHKeyPair : public CDHKeyPair
   1.111  /** This class represents the Diffie-Hellman Key Pair.
   1.112  *
   1.113 -* @publishedAll
   1.114 -* @released
   1.115  * @since v8.0 */
   1.116  {
   1.117  public:
   1.118 @@ -470,8 +454,6 @@
   1.119  * if the DH Public Key has been generated in conformance with the algorithm 
   1.120  * specified in ESDH (see RFC 2631). 
   1.121  * 
   1.122 -* @publishedAll
   1.123 -* @released
   1.124  * @since v6.0 */
   1.125  	{
   1.126  public:
   1.127 @@ -533,8 +515,6 @@
   1.128  /** Encapsulates the compulsory Diffie-Hellman domain parameter values P and G 
   1.129  * (See RFC 2459). 
   1.130  * 
   1.131 -* @publishedAll
   1.132 -* @released
   1.133  * @since v6.0 */
   1.134  	{
   1.135  public:
   1.136 @@ -618,192 +598,4 @@
   1.137  	CX509DHValidationParams* iValidationParams;
   1.138  	};
   1.139  
   1.140 -class TX509KeyEncoder
   1.141 -/**
   1.142 - * Abstract class that is the base class for RSA and DSA key encoder classes.
   1.143 - * These classes are used to encode the X509 ASN.1 types AlgorithmIdentifier and
   1.144 - * SubjectPublicKeyInfo.
   1.145 - *
   1.146 - * This class is part of the pkcs10 API, and will be changed or removed in a
   1.147 - * future release.  You should not use it.
   1.148 - * 
   1.149 - * @internalTechnology 
   1.150 - */
   1.151 -	{
   1.152 -public:
   1.153 -	/**
   1.154 -	 * Constructor that takes an algorithm identifier and saves it into the 
   1.155 -	 * corresponding member variable. It is then used in the
   1.156 -	 * EncodeSignatureAlgorithm() function.
   1.157 -	 * 
   1.158 -	 * @param aDigestAlg	Digest algorithm to use. Currently the following 
   1.159 -	 * 						algorithms are supported: MD2, MD5, and SHA-1.
   1.160 -	 */
   1.161 -	IMPORT_C TX509KeyEncoder(TAlgorithmId aDigestAlg);
   1.162 -
   1.163 -	/**
   1.164 -	 * Produces the SubjectPublicKeyInfo encoding. 
   1.165 -	 * 
   1.166 -	 * The encoding has the following ASN.1 format:
   1.167 -	 * @code
   1.168 -	 * SubjectPublicKeyInfo {ALGORITHM : IOSet} ::= SEQUENCE {
   1.169 -	 *     algorithm        AlgorithmIdentifier {{IOSet}},
   1.170 -	 *     subjectPublicKey BIT STRING
   1.171 -	 *     }
   1.172 -	 * @endcode
   1.173 -	 */
   1.174 -	IMPORT_C virtual CASN1EncBase* EncodeKeyLC() const = 0;
   1.175 -
   1.176 -	/**
   1.177 -	 * Produces the AlgorithmIdentifier encoding.
   1.178 -	 * 
   1.179 -	 * @return	ASN.1 sequence containing signature algorithm
   1.180 -	 */
   1.181 -	IMPORT_C virtual CASN1EncSequence* EncodeSignatureAlgorithmLC() const = 0;
   1.182 -
   1.183 -	/**
   1.184 -	 * Produces the DigestAlgorithmIdentifier encoder.
   1.185 -	 *
   1.186 -	 * The encoding has the following ASN.1 format
   1.187 -	 * @code
   1.188 -     *   DigestAlgorithmIdentifier ::= SEQUENCE {
   1.189 -     *     algorithm AlgorithmIdentifier,
   1.190 -     *     parameters ANY DEFINED BY algorithm OPTIONAL }
   1.191 -     *
   1.192 -     *   AlgorithmIdentifier ::= OBJECT IDENTIFIER
   1.193 -	 * @endcode
   1.194 - 	 *
   1.195 -	 * @return Appropriate ASN.1 sequence of type <code>DigestAlgorithmIdentifier</code>
   1.196 -	 */
   1.197 -	IMPORT_C virtual CASN1EncSequence* EncodeDigestAlgorithmLC() const;
   1.198 -
   1.199 -protected:
   1.200 -	/** Digest algorithm to use. */
   1.201 -	TAlgorithmId iDigestAlg;
   1.202 -	};
   1.203 -
   1.204 -class TX509RSAKeyEncoder : public TX509KeyEncoder
   1.205 -/**
   1.206 - * Subclasses TC509KeyEncoder to provides key encoding capability for RSA public keys.
   1.207 - * 
   1.208 - * This class is part of the pkcs10 API, and will be changed or removed in a
   1.209 - * future release.  You should not use it.
   1.210 - * 
   1.211 - * @internalTechnology 
   1.212 - */
   1.213 -	{
   1.214 -public:
   1.215 -	/**
   1.216 -	 * Constructs a RSA key pair encoder, saving reference to the passed 
   1.217 -	 * key pair in the member variable.
   1.218 -	 * 
   1.219 -	 * @param aPublicKey	RSA public key to use for encoding.
   1.220 -	 * @param aDigestAlg	Digest algorithm to use.
   1.221 -	 */
   1.222 -	IMPORT_C TX509RSAKeyEncoder(const CRSAPublicKey& aPublicKey, TAlgorithmId aDigestAlg);
   1.223 -
   1.224 -	/**
   1.225 -	 * Produces the SubjectPublicKeyInfo encoding. 
   1.226 -	 * 
   1.227 -	 * The resulting encoding has the following form:
   1.228 -	 * @code
   1.229 -	 *     SEQUENCE-OF
   1.230 -	 *         SEQUENCE-OF
   1.231 -	 *             OID of the encryption algorithm (KRSA)
   1.232 -	 *             NULL
   1.233 -	 *         BIT STRING encoded public key.
   1.234 -	 * @endcode
   1.235 -	 * 
   1.236 -	 * @return	DER-encoded public key information, placed on the cleanup stack.
   1.237 -	 */
   1.238 -	IMPORT_C virtual CASN1EncBase* EncodeKeyLC() const;
   1.239 -
   1.240 -	/**
   1.241 -	 * Produces the AlgorithmIdentifier encoding.
   1.242 -  	 * 
   1.243 -	 * This has the following form:
   1.244 -	 * @code
   1.245 -	 *     SEQUENCE-OF
   1.246 -	 *         OID signature-algorithm
   1.247 -	 *         NULL
   1.248 -	 * @endcode
   1.249 -	 * 
   1.250 -	 * @return	ASN.1 sequence containing signature algorithm encoding, 
   1.251 -	 * 			placed on the cleanup stack.
   1.252 -	 */
   1.253 -	IMPORT_C virtual CASN1EncSequence* EncodeSignatureAlgorithmLC() const;
   1.254 -
   1.255 -private:
   1.256 -	/**
   1.257 -	 * Saved reference to the RSA public key to be used for encoding.
   1.258 -	 */
   1.259 -	const CRSAPublicKey& iPublicKey;
   1.260 -	};
   1.261 -
   1.262 -class TX509DSAKeyEncoder : public TX509KeyEncoder
   1.263 -/**
   1.264 - * Provides key encoding and signing capability using a DSA public key.
   1.265 - * 
   1.266 - * This class is part of the pkcs10 API, and will be changed or removed in a
   1.267 - * future release.  You should not use it.
   1.268 - * 
   1.269 - * @internalTechnology 
   1.270 - */
   1.271 -	{
   1.272 -public:
   1.273 -	/**
   1.274 -	 * Constructs a DSA key pair encoder, saving reference to the passed 
   1.275 -	 * public key in the member variable.
   1.276 -	 * 
   1.277 -	 * @param aKeyPublic	DSA public key to use for encoding.
   1.278 -	 * @param aDigestAlg	Digest algorithm to use.
   1.279 -	 */
   1.280 -	IMPORT_C TX509DSAKeyEncoder(const CDSAPublicKey& aKeyPublic, 
   1.281 -								TAlgorithmId aDigestAlg);
   1.282 -
   1.283 -	/**
   1.284 -	 * Produces the SubjectPublicKeyInfo encoding. 
   1.285 -  	 * 
   1.286 -	 * The ASN.1 encoding of a DSA key has the following form:
   1.287 -	 * @code
   1.288 -	 * SEQUENCE-OF
   1.289 -	 *     SEQUENCE-OF
   1.290 -	 *         OID dsa (1.2.840.10040.4.1)
   1.291 -	 *         SEQUENCE-OF
   1.292 -	 *             INTEGER p
   1.293 -	 *             INTEGER q
   1.294 -	 *             INTEGER g
   1.295 -	 *     BIT STRING
   1.296 -	 *         INTEGER public value (y)
   1.297 -	 * @endcode
   1.298 -	 * 
   1.299 -	 * @return DER-encoded public key information, placed on the cleanup stack.
   1.300 -	 */
   1.301 -	IMPORT_C virtual CASN1EncBase* EncodeKeyLC() const;
   1.302 -
   1.303 -	/**
   1.304 -	 * Produces the AlgorithmIdentifier encoding.
   1.305 -   	 * 
   1.306 -	 * This has the following form:
   1.307 -	 * @code
   1.308 -	 * SEQUENCE-OF
   1.309 -	 *     OID dsa-signature-oid
   1.310 -	 *     SEQUENCE-OF dsa-params
   1.311 -	 *         INTEGER p
   1.312 -	 *         INTEGER q
   1.313 -	 *         INTEGER g
   1.314 -	 * @endcode
   1.315 -	 * 
   1.316 -	 * @return	ASN.1 sequence containing signature algorithm encoding, 
   1.317 -	 *     		placed on the cleanup stack.
   1.318 -	 */
   1.319 -	IMPORT_C virtual CASN1EncSequence* EncodeSignatureAlgorithmLC() const;
   1.320 -
   1.321 -private:
   1.322 -	/**
   1.323 -	 * Saved reference to the DSA public key to be used for encoding.
   1.324 -	 */
   1.325 -	const CDSAPublicKey& iPublicKey;
   1.326 -	};
   1.327 -
   1.328  #endif