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

OpenSSLCryptoKeyDSA Class Reference
[OpenSSL Interface]

#include <OpenSSLCryptoKeyDSA.hpp>

Inheritance diagram for OpenSSLCryptoKeyDSA:

Inheritance graph
[legend]
Collaboration diagram for OpenSSLCryptoKeyDSA:

Collaboration graph
[legend]
List of all members.

Detailed Description

OpenSSL implementation class for DSA keys.

The library uses classes derived from this to process DSA keys.


Public Member Functions

Constructors and Destructors
 OpenSSLCryptoKeyDSA ()
virtual ~OpenSSLCryptoKeyDSA ()
 Destructor.
Required Key Interface methods
virtual XSECCryptoKey::KeyType getKeyType ()
 Return the type of this key.
virtual const XMLCh * getProviderName ()
 Return the OpenSSL string identifier.
virtual XSECCryptoKeyclone ()
 Replicate key.
Required DSA methods
virtual unsigned int signBase64Signature (unsigned char *hashBuf, unsigned int hashLen, char *base64SignatureBuf, unsigned int base64SignatureBufLen)
 Create a signature.
virtual bool verifyBase64Signature (unsigned char *hashBuf, unsigned int hashLen, char *base64Signature, unsigned int sigLen)
 Verify a signature.
Optional Interface methods
Have been fully implemented in the OpenSSL interface to allow interop testing to occur.

virtual void loadPBase64BigNums (const char *b64, unsigned int len)
 Load P.
virtual void loadQBase64BigNums (const char *b64, unsigned int len)
 Load Q.
virtual void loadGBase64BigNums (const char *b64, unsigned int len)
 Load G.
virtual void loadYBase64BigNums (const char *b64, unsigned int len)
 Load Y.
virtual void loadJBase64BigNums (const char *b64, unsigned int len)
 Load J.
OpenSSL Specific functions
 OpenSSLCryptoKeyDSA (EVP_PKEY *k)
 Library specific constructor.


Constructor & Destructor Documentation

OpenSSLCryptoKeyDSA::OpenSSLCryptoKeyDSA  ) 
 

virtual OpenSSLCryptoKeyDSA::~OpenSSLCryptoKeyDSA  )  [virtual]
 

Destructor.

Will call the OpenSSL function to destroy the DSA key - which will also overwrite any Private keys

OpenSSLCryptoKeyDSA::OpenSSLCryptoKeyDSA EVP_PKEY *  k  ) 
 

Library specific constructor.

Used to create a new key around an OpenSSL EVP_PKEY object holding a DSA key


Member Function Documentation

virtual XSECCryptoKey* OpenSSLCryptoKeyDSA::clone  )  [virtual]
 

Replicate key.

Implements XSECCryptoKeyDSA.

virtual XSECCryptoKey::KeyType OpenSSLCryptoKeyDSA::getKeyType  )  [virtual]
 

Return the type of this key.

Allows the caller (and library) to determine whether this is a public key, private key or a key pair

Reimplemented from XSECCryptoKeyDSA.

virtual const XMLCh* OpenSSLCryptoKeyDSA::getProviderName  )  [inline, virtual]
 

Return the OpenSSL string identifier.

Implements XSECCryptoKey.

virtual void OpenSSLCryptoKeyDSA::loadGBase64BigNums const char *  b64,
unsigned int  len
[virtual]
 

Load G.

Parameters:
b64 Base64 encoded parameter - read from XML document
len Length of the encoded string

Implements XSECCryptoKeyDSA.

virtual void OpenSSLCryptoKeyDSA::loadJBase64BigNums const char *  b64,
unsigned int  len
[virtual]
 

Load J.

Parameters:
b64 Base64 encoded parameter - read from XML document
len Length of the encoded string

Implements XSECCryptoKeyDSA.

virtual void OpenSSLCryptoKeyDSA::loadPBase64BigNums const char *  b64,
unsigned int  len
[virtual]
 

Load P.

Parameters:
b64 Base64 encoded parameter - read from XML document
len Length of the encoded string

Implements XSECCryptoKeyDSA.

virtual void OpenSSLCryptoKeyDSA::loadQBase64BigNums const char *  b64,
unsigned int  len
[virtual]
 

Load Q.

Parameters:
b64 Base64 encoded parameter - read from XML document
len Length of the encoded string

Implements XSECCryptoKeyDSA.

virtual void OpenSSLCryptoKeyDSA::loadYBase64BigNums const char *  b64,
unsigned int  len
[virtual]
 

Load Y.

Parameters:
b64 Base64 encoded parameter - read from XML document
len Length of the encoded string

Implements XSECCryptoKeyDSA.

virtual unsigned int OpenSSLCryptoKeyDSA::signBase64Signature unsigned char *  hashBuf,
unsigned int  hashLen,
char *  base64SignatureBuf,
unsigned int  base64SignatureBufLen
[virtual]
 

Create a signature.

Sign the buffer using the internal private key. Will throw a DSAError if the key is not set, or is not a private key.

Parameters:
hashBuf Buffer containing the pre-calculated (binary) digest
hashLen Number of bytes of hash in the hashBuf
base64SignatureBuf Buffer to place the base64 encoded result in.
base64SignatureBufLen Implementations need to ensure they do not write more bytes than this into the buffer

Implements XSECCryptoKeyDSA.

virtual bool OpenSSLCryptoKeyDSA::verifyBase64Signature unsigned char *  hashBuf,
unsigned int  hashLen,
char *  base64Signature,
unsigned int  sigLen
[virtual]
 

Verify a signature.

The library will call this function to validate a signature

Parameters:
hashBuf Buffer containing the pre-calculated (binary) digest
hashLen Length of the data in the digest buffer
base64Signature Buffer containing the Base64 encoded signature
sigLen Length of the data in the signature buffer
Returns:
true if the signature was valid, false otherwise

Implements XSECCryptoKeyDSA.


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