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

XSECCryptoProvider Class Reference
[Cryptographic Abstraction Layer]

The base class that all *CryptoProviders need to implement. More...

#include <XSECCryptoProvider.hpp>

Inheritance diagram for XSECCryptoProvider:

Inheritance graph
[legend]
List of all members.

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 Methods

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

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

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

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

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

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


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


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 OpenSSLCryptoProvider.

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 OpenSSLCryptoProvider.

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 OpenSSLCryptoProvider.

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 OpenSSLCryptoProvider.

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 OpenSSLCryptoProvider.

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 OpenSSLCryptoProvider.


The documentation for this class was generated from the following file:
Generated on Sat Jan 11 20:35:30 2003 for XML-Security-C by doxygen1.2.15