epoc32/include/signed.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
    14 * Description: 
    14 * Description: 
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 
       
    20 
       
    21 /**
    19 /**
    22  @file 
    20  @file 
    23  @internalAll
    21  @publishedAll
       
    22  @released
    24 */
    23 */
    25  
    24  
    26 #ifndef __SIGNED_H__
    25 #ifndef __SIGNED_H__
    27 #define __SIGNED_H__
    26 #define __SIGNED_H__
    28 
    27 
    36 class CDSASignature;
    35 class CDSASignature;
    37 class CDSAParameters;
    36 class CDSAParameters;
    38 
    37 
    39 /**  Enumerates the identity of the algorithm.
    38 /**  Enumerates the identity of the algorithm.
    40  *
    39  *
    41  * @publishedAll
       
    42  * @released
       
    43  */
    40  */
    44 enum TAlgorithmId
    41 enum TAlgorithmId
    45 	{
    42 	{
    46 	/** An RSA algorithm. */
    43 	/** An RSA algorithm. */
    47 	ERSA,
    44 	ERSA,
    52 	/** A MD2 algorithm. */
    49 	/** A MD2 algorithm. */
    53 	EMD2,
    50 	EMD2,
    54 	/** A MD5 algorithm. */
    51 	/** A MD5 algorithm. */
    55 	EMD5,
    52 	EMD5,
    56 	/** A SHA-1 algorithm. */
    53 	/** A SHA-1 algorithm. */
    57 	ESHA1
    54 	ESHA1,
       
    55 	/** A SHA-224 algorithm. */
       
    56 	ESHA224,
       
    57 	/** A SHA-256 algorithm. */
       
    58 	ESHA256,
       
    59 	/** A SHA-384 algorithm. */
       
    60 	ESHA384,
       
    61 	/** A SHA-512 algorithm. */
       
    62 	ESHA512
    58 	};
    63 	};
    59 
    64 
    60 class CValidityPeriod : public CBase
    65 class CValidityPeriod : public CBase
    61 /** The period for which the certificate is valid. 
    66 /** The period for which the certificate is valid. 
    62 * 
    67 * 
    63 * @publishedAll
       
    64 * @released
       
    65 * @since v6.0 */
    68 * @since v6.0 */
    66 	{
    69 	{
    67 public:
    70 public:
    68 	/** Tests whether the specified date and time is within the validity period.
    71 	/** Tests whether the specified date and time is within the validity period.
    69 	* 
    72 	* 
   102 /** Contains an algorithm ID and any encoded parameters required by that algorithm.
   105 /** Contains an algorithm ID and any encoded parameters required by that algorithm.
   103 * 
   106 * 
   104 * An object of this type creates and owns a heap descriptor to contain the encoded 
   107 * An object of this type creates and owns a heap descriptor to contain the encoded 
   105 * parameters. 
   108 * parameters. 
   106 * 
   109 * 
   107 * @publishedAll
       
   108 * @released
       
   109 * @since v6.0 */
   110 * @since v6.0 */
   110 	{
   111 	{
   111 public:
   112 public:
   112 	/** Creates a new algorithm ID object copied from an existing object.	
   113 	/** Creates a new algorithm ID object copied from an existing object.	
   113 	* 
   114 	* 
   191 class CSigningAlgorithmIdentifier : public CBase
   192 class CSigningAlgorithmIdentifier : public CBase
   192 /** Contains two CAlgorithmIdentifier objects for comparison purposes.
   193 /** Contains two CAlgorithmIdentifier objects for comparison purposes.
   193 * 
   194 * 
   194 * Implements an equality operator. 
   195 * Implements an equality operator. 
   195 * 
   196 * 
   196 * @publishedAll
       
   197 * @released
       
   198 * @since v6.0 */
   197 * @since v6.0 */
   199 	{
   198 	{
   200 public:
   199 public:
   201 	/** Constructs a new Signing Algorithm Identifier object, copying an existing Signing 
   200 	/** Constructs a new Signing Algorithm Identifier object, copying an existing Signing 
   202 	* Algorithm Identifier object.
   201 	* Algorithm Identifier object.
   252 class CSubjectPublicKeyInfo : public CBase
   251 class CSubjectPublicKeyInfo : public CBase
   253 /** A base class for a container that holds information about a subject public key.
   252 /** A base class for a container that holds information about a subject public key.
   254 * 
   253 * 
   255 * It contains the algorithm ID, the encoded public key and the encoded parameters. 
   254 * It contains the algorithm ID, the encoded public key and the encoded parameters. 
   256 * 
   255 * 
   257 * @publishedAll
       
   258 * @released
       
   259 * @since v6.0 
   256 * @since v6.0 
   260 */
   257 */
   261 //algorithm ID + encoded public key + encoded parameters
   258 //algorithm ID + encoded public key + encoded parameters
   262 	{
   259 	{
   263 public:
   260 public:
   314 * @li CWTLSRSASignatureResult
   311 * @li CWTLSRSASignatureResult
   315 * @li CPKCS1SignatureResult.
   312 * @li CPKCS1SignatureResult.
   316 *
   313 *
   317 * @see TKeyFactory::RSASignatureResultL()
   314 * @see TKeyFactory::RSASignatureResultL()
   318 *
   315 *
   319 * @publishedAll
       
   320 * @released
       
   321 * @since v6.0 */
   316 * @since v6.0 */
   322 	{
   317 	{
   323 public:
   318 public:
   324 	/** Tests whether the signature result is valid.
   319 	/** Tests whether the signature result is valid.
   325 	* 
   320 	* 
   349 //signed object
   344 //signed object
   350 class TKeyFactory
   345 class TKeyFactory
   351 /** Constructs the public key objects used for signature verification from their 
   346 /** Constructs the public key objects used for signature verification from their 
   352 * encoded binary form. 
   347 * encoded binary form. 
   353 * 
   348 * 
   354 * @publishedAll
       
   355 * @released
       
   356 * @since v6.0 */
   349 * @since v6.0 */
   357 	{
   350 	{
   358 public:
   351 public:
   359 	/** Gets the RSA public key.
   352 	/** Gets the RSA public key.
   360 	* 
   353 	* 
   395 /** Contains the parameter information required by some signing algorithms.
   388 /** Contains the parameter information required by some signing algorithms.
   396 * 
   389 * 
   397 * The DSA signing algorithm needs parameters as well as a key. Currently, this 
   390 * The DSA signing algorithm needs parameters as well as a key. Currently, this 
   398 * class only contains DSA parameters. 
   391 * class only contains DSA parameters. 
   399 * 
   392 * 
   400 * @publishedAll
       
   401 * @released
       
   402 * @since v6.0 */
   393 * @since v6.0 */
   403 	{
   394 	{
   404 public:
   395 public:
   405 	/** Creates a new signing key parameters object.
   396 	/** Creates a new signing key parameters object.
   406 	* 
   397 	* 
   450 
   441 
   451 
   442 
   452 class CSignedObject : public CBase
   443 class CSignedObject : public CBase
   453 /** Base class for certificates. 
   444 /** Base class for certificates. 
   454 * 
   445 * 
   455 * @publishedAll
       
   456 * @released
       
   457 * @since v6.0 */
   446 * @since v6.0 */
   458 	{
   447 	{
   459 public:	
   448 public:	
   460 	/** Verifies a signature using the specified encoded key.
   449 	/** Verifies a signature using the specified encoded key.
   461 	* 
   450 	* 
   576 * A certificate is a signed object, and adds a serial number, a validity period 
   565 * A certificate is a signed object, and adds a serial number, a validity period 
   577 * and a subject public key.
   566 * and a subject public key.
   578 * 
   567 * 
   579 * This is a base class for classes that implement certificates of particular types. 
   568 * This is a base class for classes that implement certificates of particular types. 
   580 * 
   569 * 
   581 * @publishedAll
       
   582 * @released
       
   583 * @since v6.0 */
   570 * @since v6.0 */
   584 	{
   571 	{
   585 public:
   572 public:
   586 	/** Destructor.
   573 	/** Destructor.
   587 	* 
   574 	*