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

XSECCryptoProvider Class Reference
[Cryptographic Abstraction Layer]

#include <XSECCryptoProvider.hpp>

Inheritance diagram for XSECCryptoProvider:

Inheritance graph
[legend]
List of all members.

Detailed Description

The base class that all *CryptoProviders need to implement.

The instatiations of this class are used by the core library to create cryptographic objects necessary for the library to do its work without actually knowing any details at all about the provider library

Note:
Subject to change
See also:
OpenSSLCryptoProvider


Public Types

enum  CryptoKeyType {
  KEY_NONE = 0,
  KEY_DSA_PUB = 1,
  KEY_DSA_PRIV = 2,
  KEY_DSA_PAIR = 3
}
enum  CryptoAlgorithmType {
  ALG_NONE = 0,
  ALG_DSA = 1
}

Public Member Functions

Constructors and Destructors
 XSECCryptoProvider ()
virtual ~XSECCryptoProvider ()
Hashing (Digest) Functions
virtual XSECCryptoHashhashSHA1 ()=0
 Return a SHA1 implementation.

virtual XSECCryptoHashhashHMACSHA1 ()=0
 Return a HMAC SHA1 implementation.

virtual XSECCryptoHashhashMD5 ()=0
 Return a MD5 implementation.

virtual XSECCryptoHashhashHMACMD5 ()=0
 Return a HMAC MD5 implementation.

Encoding functions
virtual XSECCryptoBase64base64 ()=0
 Return a Base64 encoder/decoder implementation.

Keys and Certificates
virtual XSECCryptoKeyDSAkeyDSA ()=0
 Return a DSA key implementation object.

virtual XSECCryptoKeyRSAkeyRSA ()=0
 Return an RSA key implementation object.

virtual XSECCryptoX509X509 ()=0
 Return an X509 implementation object.


Member Enumeration Documentation

enum XSECCryptoProvider::CryptoAlgorithmType
 

Enumeration of cryptographic algorithms that the provider must supply

Enumeration values:
ALG_NONE  Used for catching errors
ALG_DSA  Digital Signature Algorithm

enum XSECCryptoProvider::CryptoKeyType
 

Enumeration of types of keys that must be handled by the CryptoProvider

Enumeration values:
KEY_NONE  Key is empty - type unknown
KEY_DSA_PUB  DSA key - Public part only
KEY_DSA_PRIV  DSA key - Private part only
KEY_DSA_PAIR  DSA key - Full Key Pair


Constructor & Destructor Documentation

XSECCryptoProvider::XSECCryptoProvider  )  [inline]
 

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


Member Function Documentation

virtual XSECCryptoBase64* XSECCryptoProvider::base64  )  [pure virtual]
 

Return a Base64 encoder/decoder implementation.

Call used by the library to obtain a Base64 encoder/decoder.

Returns:
Pointer to the new Base64 encoder.
See also:
XSECCryptoBase64

Implemented in WinCAPICryptoProvider.

virtual XSECCryptoHash* XSECCryptoProvider::hashHMACMD5  )  [pure virtual]
 

Return a HMAC MD5 implementation.

Call used by the library to obtain a HMAC MD5 object from the provider. The caller will need to set the key in the hash object with an XSECCryptoKeyHMAC using XSECCryptoHash::setKey()

Note:
The use of MD5 is explicitly marked as not recommended in the XML Digital Signature standard due to recent advances in cryptography indicating there may be weaknesses in the algorithm.
Returns:
A pointer to a Hash object that implements HMAC-MD5
See also:
XSECCryptoHash

Implemented in WinCAPICryptoProvider.

virtual XSECCryptoHash* XSECCryptoProvider::hashHMACSHA1  )  [pure virtual]
 

Return a HMAC SHA1 implementation.

Call used by the library to obtain a HMAC SHA1 object from the provider. The caller will need to set the key in the hash object with an XSECCryptoKeyHMAC using XSECCryptoHash::setKey()

Returns:
A pointer to a Hash object that implements HMAC-SHA1
See also:
XSECCryptoHash

Implemented in WinCAPICryptoProvider.

virtual XSECCryptoHash* XSECCryptoProvider::hashMD5  )  [pure virtual]
 

Return a MD5 implementation.

Call used by the library to obtain a MD5 object from the provider.

Returns:
A pointer to a Hash object that implements MD5
See also:
XSECCryptoHash

Implemented in WinCAPICryptoProvider.

virtual XSECCryptoHash* XSECCryptoProvider::hashSHA1  )  [pure virtual]
 

Return a SHA1 implementation.

Call used by the library to obtain a SHA1 object from the provider.

Returns:
A pointer to a Hash object that implements SHA1
See also:
XSECCryptoHash

Implemented in WinCAPICryptoProvider.

virtual XSECCryptoKeyDSA* XSECCryptoProvider::keyDSA  )  [pure virtual]
 

Return a DSA key implementation object.

Call used by the library to obtain a DSA key object.

Returns:
Pointer to the new DSA key
See also:
XSECCryptoKeyDSA

Implemented in WinCAPICryptoProvider.

virtual XSECCryptoKeyRSA* XSECCryptoProvider::keyRSA  )  [pure virtual]
 

Return an RSA key implementation object.

Call used by the library to obtain an RSA key object.

Returns:
Pointer to the new RSA key
See also:
XSECCryptoKeyRSA

Implemented in WinCAPICryptoProvider.

virtual XSECCryptoX509* XSECCryptoProvider::X509  )  [pure virtual]
 

Return an X509 implementation object.

Call used by the library to obtain an object that can work with X509 certificates.

Returns:
Pointer to the new X509 object
See also:
XSECCryptoX509

Implemented in WinCAPICryptoProvider.


The documentation for this class was generated from the following file:
Generated on Sat Aug 9 18:36:56 2003 for XML-Security-C by doxygen 1.3.2