epoc32/include/x509keys.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
--- a/epoc32/include/x509keys.h	Wed Mar 31 12:27:01 2010 +0100
+++ b/epoc32/include/x509keys.h	Wed Mar 31 12:33:34 2010 +0100
@@ -17,11 +17,10 @@
 */
 
 
-
-
 /**
  @file
- @internalTechnology 
+ @publishedAll
+ @released
 */
 
 #if !defined (__X509KEYS_H__)
@@ -41,14 +40,17 @@
 class CASN1EncSequence;
 class CASN1EncBitString;
 
+
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <x509keyencoder.h>
+#endif
+
 class CX509RSAPublicKey : public CRSAPublicKey
 /** Adds the capability to decode DER-encoded RSA public keys.
 *
 * Adds a commitment to a specific encoding scheme allowing X.509 RSA public key 
 * superclasses to remain encoding-independent.
 *
-* @publishedAll
-* @released
 *
 * @since v6.0 
 */
@@ -95,8 +97,6 @@
 /**
  * Class for encoding RSA public keys to ASN.1 encoding.
  * 
- * @publishedAll
- * @released
  * @since v8.0 
  */
 	{
@@ -120,8 +120,6 @@
 /** 
  * Class for decoding RSA public keys from ASN.1 DER encoding.
  * 
- * @publishedAll
- * @released
  * @since v8.0
  */
 	{
@@ -141,8 +139,6 @@
 /** 
  * Class for decoding RSA key pairs from ASN.1 DER encoding.
  * 
- * @publishedAll
- * @released
  * @since v8.0
  */
 	{
@@ -171,8 +167,6 @@
 * Adds a commitment to a specific encoding scheme allowing superclasses to remain 
 * encoding-independent. 
 * 
-* @publishedAll
-* @released
 * @since v6.0 
 */
 // DSA public key, params, signature.
@@ -256,8 +250,6 @@
 /** 
  * Class for decoding DSA key pairs from ASN.1 DER encoding.
  * 
- * @publishedAll
- * @released
  * @since v8.0
  */
 	{
@@ -292,8 +284,6 @@
 /**
  * Class for encoding DSA public keys to ASN.1 encoding.
  * 
- * @publishedAll
- * @released
  * @since v8.0
  */
 class TASN1EncDSAPublicKey
@@ -350,8 +340,6 @@
 * Adds a commitment to a specific encoding scheme allowing superclasses to remain 
 * encoding-independent. 
 * 
-* @publishedAll
-* @released
 * @since v6.0 */
 	{
 public:
@@ -394,8 +382,6 @@
 /** Provides clients with the information they need for Diffie-Hellman key exchange 
 * within a protocol. 
 * 
-* @publishedAll
-* @released
 * @since v6.0 */
 	{
 public:
@@ -429,8 +415,6 @@
 class CX509DHKeyPair : public CDHKeyPair
 /** This class represents the Diffie-Hellman Key Pair.
 *
-* @publishedAll
-* @released
 * @since v8.0 */
 {
 public:
@@ -470,8 +454,6 @@
 * if the DH Public Key has been generated in conformance with the algorithm 
 * specified in ESDH (see RFC 2631). 
 * 
-* @publishedAll
-* @released
 * @since v6.0 */
 	{
 public:
@@ -533,8 +515,6 @@
 /** Encapsulates the compulsory Diffie-Hellman domain parameter values P and G 
 * (See RFC 2459). 
 * 
-* @publishedAll
-* @released
 * @since v6.0 */
 	{
 public:
@@ -618,192 +598,4 @@
 	CX509DHValidationParams* iValidationParams;
 	};
 
-class TX509KeyEncoder
-/**
- * Abstract class that is the base class for RSA and DSA key encoder classes.
- * These classes are used to encode the X509 ASN.1 types AlgorithmIdentifier and
- * SubjectPublicKeyInfo.
- *
- * This class is part of the pkcs10 API, and will be changed or removed in a
- * future release.  You should not use it.
- * 
- * @internalTechnology 
- */
-	{
-public:
-	/**
-	 * Constructor that takes an algorithm identifier and saves it into the 
-	 * corresponding member variable. It is then used in the
-	 * EncodeSignatureAlgorithm() function.
-	 * 
-	 * @param aDigestAlg	Digest algorithm to use. Currently the following 
-	 * 						algorithms are supported: MD2, MD5, and SHA-1.
-	 */
-	IMPORT_C TX509KeyEncoder(TAlgorithmId aDigestAlg);
-
-	/**
-	 * Produces the SubjectPublicKeyInfo encoding. 
-	 * 
-	 * The encoding has the following ASN.1 format:
-	 * @code
-	 * SubjectPublicKeyInfo {ALGORITHM : IOSet} ::= SEQUENCE {
-	 *     algorithm        AlgorithmIdentifier {{IOSet}},
-	 *     subjectPublicKey BIT STRING
-	 *     }
-	 * @endcode
-	 */
-	IMPORT_C virtual CASN1EncBase* EncodeKeyLC() const = 0;
-
-	/**
-	 * Produces the AlgorithmIdentifier encoding.
-	 * 
-	 * @return	ASN.1 sequence containing signature algorithm
-	 */
-	IMPORT_C virtual CASN1EncSequence* EncodeSignatureAlgorithmLC() const = 0;
-
-	/**
-	 * Produces the DigestAlgorithmIdentifier encoder.
-	 *
-	 * The encoding has the following ASN.1 format
-	 * @code
-     *   DigestAlgorithmIdentifier ::= SEQUENCE {
-     *     algorithm AlgorithmIdentifier,
-     *     parameters ANY DEFINED BY algorithm OPTIONAL }
-     *
-     *   AlgorithmIdentifier ::= OBJECT IDENTIFIER
-	 * @endcode
- 	 *
-	 * @return Appropriate ASN.1 sequence of type <code>DigestAlgorithmIdentifier</code>
-	 */
-	IMPORT_C virtual CASN1EncSequence* EncodeDigestAlgorithmLC() const;
-
-protected:
-	/** Digest algorithm to use. */
-	TAlgorithmId iDigestAlg;
-	};
-
-class TX509RSAKeyEncoder : public TX509KeyEncoder
-/**
- * Subclasses TC509KeyEncoder to provides key encoding capability for RSA public keys.
- * 
- * This class is part of the pkcs10 API, and will be changed or removed in a
- * future release.  You should not use it.
- * 
- * @internalTechnology 
- */
-	{
-public:
-	/**
-	 * Constructs a RSA key pair encoder, saving reference to the passed 
-	 * key pair in the member variable.
-	 * 
-	 * @param aPublicKey	RSA public key to use for encoding.
-	 * @param aDigestAlg	Digest algorithm to use.
-	 */
-	IMPORT_C TX509RSAKeyEncoder(const CRSAPublicKey& aPublicKey, TAlgorithmId aDigestAlg);
-
-	/**
-	 * Produces the SubjectPublicKeyInfo encoding. 
-	 * 
-	 * The resulting encoding has the following form:
-	 * @code
-	 *     SEQUENCE-OF
-	 *         SEQUENCE-OF
-	 *             OID of the encryption algorithm (KRSA)
-	 *             NULL
-	 *         BIT STRING encoded public key.
-	 * @endcode
-	 * 
-	 * @return	DER-encoded public key information, placed on the cleanup stack.
-	 */
-	IMPORT_C virtual CASN1EncBase* EncodeKeyLC() const;
-
-	/**
-	 * Produces the AlgorithmIdentifier encoding.
-  	 * 
-	 * This has the following form:
-	 * @code
-	 *     SEQUENCE-OF
-	 *         OID signature-algorithm
-	 *         NULL
-	 * @endcode
-	 * 
-	 * @return	ASN.1 sequence containing signature algorithm encoding, 
-	 * 			placed on the cleanup stack.
-	 */
-	IMPORT_C virtual CASN1EncSequence* EncodeSignatureAlgorithmLC() const;
-
-private:
-	/**
-	 * Saved reference to the RSA public key to be used for encoding.
-	 */
-	const CRSAPublicKey& iPublicKey;
-	};
-
-class TX509DSAKeyEncoder : public TX509KeyEncoder
-/**
- * Provides key encoding and signing capability using a DSA public key.
- * 
- * This class is part of the pkcs10 API, and will be changed or removed in a
- * future release.  You should not use it.
- * 
- * @internalTechnology 
- */
-	{
-public:
-	/**
-	 * Constructs a DSA key pair encoder, saving reference to the passed 
-	 * public key in the member variable.
-	 * 
-	 * @param aKeyPublic	DSA public key to use for encoding.
-	 * @param aDigestAlg	Digest algorithm to use.
-	 */
-	IMPORT_C TX509DSAKeyEncoder(const CDSAPublicKey& aKeyPublic, 
-								TAlgorithmId aDigestAlg);
-
-	/**
-	 * Produces the SubjectPublicKeyInfo encoding. 
-  	 * 
-	 * The ASN.1 encoding of a DSA key has the following form:
-	 * @code
-	 * SEQUENCE-OF
-	 *     SEQUENCE-OF
-	 *         OID dsa (1.2.840.10040.4.1)
-	 *         SEQUENCE-OF
-	 *             INTEGER p
-	 *             INTEGER q
-	 *             INTEGER g
-	 *     BIT STRING
-	 *         INTEGER public value (y)
-	 * @endcode
-	 * 
-	 * @return DER-encoded public key information, placed on the cleanup stack.
-	 */
-	IMPORT_C virtual CASN1EncBase* EncodeKeyLC() const;
-
-	/**
-	 * Produces the AlgorithmIdentifier encoding.
-   	 * 
-	 * This has the following form:
-	 * @code
-	 * SEQUENCE-OF
-	 *     OID dsa-signature-oid
-	 *     SEQUENCE-OF dsa-params
-	 *         INTEGER p
-	 *         INTEGER q
-	 *         INTEGER g
-	 * @endcode
-	 * 
-	 * @return	ASN.1 sequence containing signature algorithm encoding, 
-	 *     		placed on the cleanup stack.
-	 */
-	IMPORT_C virtual CASN1EncSequence* EncodeSignatureAlgorithmLC() const;
-
-private:
-	/**
-	 * Saved reference to the DSA public key to be used for encoding.
-	 */
-	const CDSAPublicKey& iPublicKey;
-	};
-
 #endif