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

OpenSSLCryptoKeyRSA Class Reference

#include <OpenSSLCryptoKeyRSA.hpp>

Inheritance diagram for OpenSSLCryptoKeyRSA:

Inheritance graph
[legend]
Collaboration diagram for OpenSSLCryptoKeyRSA:

Collaboration graph
[legend]
List of all members.

Public Methods

 OpenSSLCryptoKeyRSA ()
virtual ~OpenSSLCryptoKeyRSA ()
virtual XSECCryptoKey::KeyType getKeyType ()
 Return the type of this key. More...

virtual XSECCryptoKeyclone ()
 Replicate key. More...

virtual void loadPublicModulusBase64BigNums (const char *b64, unsigned int len)
 Load the modulus. More...

virtual void loadPublicExponentBase64BigNums (const char *b64, unsigned int len)
 Load the exponent. More...

virtual bool verifySHA1PKCS1Base64Signature (const unsigned char *hashBuf, unsigned int hashLen, const char *base64Signature, unsigned int sigLen)
 Verify a SHA1 PKCS1 encoded signature. More...

virtual unsigned int signSHA1PKCS1Base64Signature (unsigned char *hashBuf, unsigned int hashLen, char *base64SignatureBuf, unsigned int base64SignatureBufLen)
 Create a signature. More...

 OpenSSLCryptoKeyRSA (EVP_PKEY *k)

Constructor & Destructor Documentation

OpenSSLCryptoKeyRSA::OpenSSLCryptoKeyRSA  
 

virtual OpenSSLCryptoKeyRSA::~OpenSSLCryptoKeyRSA   [virtual]
 

OpenSSLCryptoKeyRSA::OpenSSLCryptoKeyRSA EVP_PKEY *    k
 


Member Function Documentation

virtual XSECCryptoKey* OpenSSLCryptoKeyRSA::clone   [virtual]
 

Replicate key.

Implements XSECCryptoKeyRSA.

virtual XSECCryptoKey::KeyType OpenSSLCryptoKeyRSA::getKeyType   [virtual]
 

Return the type of this key.

For RSA keys, this allows people to determine whether this is a public key, private key or a key pair

Reimplemented from XSECCryptoKeyRSA.

virtual void OpenSSLCryptoKeyRSA::loadPublicExponentBase64BigNums const char *    b64,
unsigned int    len
[virtual]
 

Load the exponent.

Load the exponent from a Base64 encoded string

param b64 A buffer containing the encoded string param len The length of the data in the buffer

Implements XSECCryptoKeyRSA.

virtual void OpenSSLCryptoKeyRSA::loadPublicModulusBase64BigNums const char *    b64,
unsigned int    len
[virtual]
 

Load the modulus.

Load the modulus from a Base64 encoded string

param b64 A buffer containing the encoded string param len The length of the data in the buffer

Implements XSECCryptoKeyRSA.

virtual unsigned int OpenSSLCryptoKeyRSA::signSHA1PKCS1Base64Signature unsigned char *    hashBuf,
unsigned int    hashLen,
char *    base64SignatureBuf,
unsigned int    base64SignatureBufLen
[virtual]
 

Create a signature.

The library will call this function to create a signature from a pre-calculated digest. The output signature is required to be Base64 encoded such that it can be placed directly into the XML document

This call needs to do a PKCS1 encode for a SHA-1 signature.

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

virtual bool OpenSSLCryptoKeyRSA::verifySHA1PKCS1Base64Signature const unsigned char *    hashBuf,
unsigned int    hashLen,
const char *    base64Signature,
unsigned int    sigLen
[virtual]
 

Verify a SHA1 PKCS1 encoded signature.

The library will call this function to validate an RSA signature The standard by default uses SHA1 in a PKCS1 encoding.

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


The documentation for this class was generated from the following file:
Generated on Wed Mar 26 20:12:15 2003 for XML-Security-C by doxygen1.2.15