Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

XSECCryptoKey Class Reference
[Cryptographic Abstraction Layer]

#include <XSECCryptoKey.hpp>

Inheritance diagram for XSECCryptoKey:

Inheritance graph
[legend]
List of all members.

Detailed Description

Base interface class for key material.

All keys used for signing and encrypting are derived from this base interface class. There are no methods for performing cryptographic functions, as this is a base class used to allow the library to pass key material to various objects without knowing how to directly use it.


Public Types

enum  KeyType {
  KEY_NONE,
  KEY_DSA_PUBLIC,
  KEY_DSA_PRIVATE,
  KEY_DSA_PAIR,
  KEY_RSA_PUBLIC,
  KEY_RSA_PRIVATE,
  KEY_RSA_PAIR,
  KEY_HMAC,
  KEY_SYMMETRIC
}
 Key types understood by the library. More...

Public Member Functions

Constructors and Destructors
 XSECCryptoKey ()
 Constructor.
virtual ~XSECCryptoKey ()
 Destructor.
Interface classes
virtual KeyType getKeyType ()
 Returns the type of this key.
virtual const XMLCh * getProviderName ()=0
 Returns a string that identifies the crypto owner of this library.
virtual XSECCryptoKeyclone ()=0
 Clone the key.


Member Enumeration Documentation

enum XSECCryptoKey::KeyType
 

Key types understood by the library.

This type defines the list of key types that the library understands.

Enumeration values:
KEY_NONE 
KEY_DSA_PUBLIC 
KEY_DSA_PRIVATE 
KEY_DSA_PAIR 
KEY_RSA_PUBLIC 
KEY_RSA_PRIVATE 
KEY_RSA_PAIR 
KEY_HMAC 
KEY_SYMMETRIC 


Constructor & Destructor Documentation

XSECCryptoKey::XSECCryptoKey  )  [inline]
 

Constructor.

virtual XSECCryptoKey::~XSECCryptoKey  )  [inline, virtual]
 

Destructor.

Implementations must ensure that the held key is properly destroyed (overwritten) when key objects are deleted.


Member Function Documentation

virtual XSECCryptoKey* XSECCryptoKey::clone  )  [pure virtual]
 

Clone the key.

All keys need to be able to copy themselves and return a pointer to the copy. This allows the library to duplicate keys.

Implemented in OpenSSLCryptoKeyDSA, OpenSSLCryptoKeyHMAC, OpenSSLCryptoKeyRSA, OpenSSLCryptoSymmetricKey, WinCAPICryptoKeyDSA, WinCAPICryptoKeyHMAC, WinCAPICryptoKeyRSA, WinCAPICryptoSymmetricKey, XSECCryptoKeyDSA, XSECCryptoKeyHMAC, XSECCryptoKeyRSA, and XSECCryptoSymmetricKey.

virtual KeyType XSECCryptoKey::getKeyType  )  [inline, virtual]
 

Returns the type of this key.

Reimplemented in OpenSSLCryptoKeyDSA, OpenSSLCryptoKeyHMAC, OpenSSLCryptoKeyRSA, WinCAPICryptoKeyDSA, WinCAPICryptoKeyHMAC, WinCAPICryptoKeyRSA, XSECCryptoKeyDSA, XSECCryptoKeyHMAC, XSECCryptoKeyRSA, and XSECCryptoSymmetricKey.

virtual const XMLCh* XSECCryptoKey::getProviderName  )  [pure virtual]
 

Returns a string that identifies the crypto owner of this library.

Implemented in OpenSSLCryptoKeyDSA, OpenSSLCryptoKeyHMAC, OpenSSLCryptoKeyRSA, OpenSSLCryptoSymmetricKey, WinCAPICryptoKeyDSA, WinCAPICryptoKeyHMAC, WinCAPICryptoKeyRSA, WinCAPICryptoSymmetricKey, and XSECCryptoSymmetricKey.


The documentation for this class was generated from the following file:
Generated on Sun Jul 3 17:45:23 2005 for XML-Security-C by  doxygen 1.4.2