diff -r 000000000000 -r 2c201484c85f cryptoservices/certificateandkeymgmt/docs/doxygen_docs/crypto_DLL.dox
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cryptoservices/certificateandkeymgmt/docs/doxygen_docs/crypto_DLL.dox Wed Jul 08 11:25:26 2009 +0100
@@ -0,0 +1,48 @@
+/**
+
+
+
+@page crypto_DLL_overview Crypto.dll overview
+
+The Crypto component (\c crypto.dll) is provided for general use in certificate management: any certificate specification
+will use some or all of its functionality.
+
+Elements of a @ref certificate which are common across different certificate formats are implemented in this DLL as a set
+of abstract base classes. Thus DLLs implementing a particular certificate specification such as @ref X509 "X.509" or @ref WTLS
+(i.e. \c X509.dll, \c WTLSCert.dll) are expected to link to this DLL and derive its own specific classes from these, as
+well as adding any classes that only exist in that specification (X.509 extensions for example).
+
+Classes defined here are agnostic about the particular encoding scheme used for objects so do not include any constructors
+for initialisation from binary data. So derived classes for a given specification will add constructors to initialise the
+objects from encoded binary data.
+
+This DLL also helps localise the interface between certificate management and the cryptographic algorithms supporting
+it. It is called \c crypto.dll rather than \c cert.dll because its role expands beyond certificates.
+
+Public classes are defined in the header file \c signed.h. Of the classes defined there, the following are intended for direct
+use by client code:
+
+@li \c TAlgorithmId -- an enumeration of the @ref asymmetric and digest algorithms supported.
+
+@li \c CValidityPeriod -- consists of a start time and an end time, with accessors for each.
+
+@li \c CAlgorithmIdentifier -- includes the \c TAlgorithmId for the algorithm and the parameters in their encoded form. Also
+ implements an equality operator.
+
+@li \c CSigningAlgorithmIdentifier -- consists of two \c CAlgorithmIdentifier classes, one for the digest algorithm and one for
+ the @ref asymmetric algorithm. Also implements an equality operator.
+
+@li \c CSubjectPublicKeyInfo -- consists of an algorithm identifier and the encoded key.
+
+@li \c CSignedObject -- this class implements a function to verify its signature given an encoded key. It also implements an
+ \c ExternalizeL() function which simply streams out the encoding of the entire object which enables the fingerprint (and
+ the signed data) to be regenerated on restoring. Accessors are provided to return pointer descriptors to the encoding
+ of the signed data, the encoding of the signature, the fingerprint and the signing algorithm used. The fingerprint
+ returned is the @ref MD5 @ref hash of the encoding of the entire object.
+
+@li \c CCertificate -- this is a subclass of \c CSignedObject. It adds a serial number, validity period and subject public key
+ along with corresponding accessors.
+
+
+
+*/
\ No newline at end of file