#include <XSECCryptoBase64.hpp>
Inheritance diagram for XSECCryptoBase64:
The XSEC library will use implementations of this interface for translating bytes to/from base64 encoding.
There are many places where XML DSIG uses Base64 encoding for embedding data in the <Signature> structure. In some cases this object is used. In other cases, the library passes base64 code directly to the cryptographic handler.
Public Member Functions | |
XSECCryptoBase64 () | |
virtual | ~XSECCryptoBase64 () |
Decoding Functions | |
virtual void | decodeInit (void)=0 |
Initialise the base64 object. | |
virtual unsigned int | decode (const unsigned char *inData, unsigned int inLength, unsigned char *outData, unsigned int outLength)=0 |
Decode some passed in data. | |
virtual unsigned int | decodeFinish (unsigned char *outData, unsigned int outLength)=0 |
Finish off a decode. | |
Encoding Functions | |
virtual void | encodeInit (void)=0 |
Initialise the base64 object for encoding. | |
virtual unsigned int | encode (const unsigned char *inData, unsigned int inLength, unsigned char *outData, unsigned int outLength)=0 |
Encode some passed in data. | |
virtual unsigned int | encodeFinish (unsigned char *outData, unsigned int outLength)=0 |
Finish off an encode. | |
Static Public Member Functions | |
Utility functions | |
static char * | cleanBuffer (const char *buffer, unsigned int bufLen, unsigned int &retBufLen) |
Clean a buffer of base64 text. |
|
|
|
|
|
Clean a buffer of base64 text. Creates a new copy of the passed in buffer with new lines in accord with the MIME standard.
|
|
Decode some passed in data. The XSEC library will pass a block of data into the decoder and request that as much as possible be decoded into the outData buffer. Due to the nature of base64, there may be data that cannot be fully decoded (not enough encoding through yet). The implementation is expected to keep this in memory until another call to decode() or a call to decodeFinish().
Implemented in OpenSSLCryptoBase64, and XSCryptCryptoBase64. |
|
Finish off a decode. The library will call this when there is no more base64 data for the current decode.
Implemented in OpenSSLCryptoBase64, and XSCryptCryptoBase64. |
|
Initialise the base64 object. The XSEC library will always call this function prior to decoding any data. This function will also be called when one decode (or encode) has been completed and the library wishes to re-use the object for another decode operation. Implemented in OpenSSLCryptoBase64, and XSCryptCryptoBase64. |
|
Encode some passed in data. The XSEC library will pass a block of data into the Encoder and request that as much as possible be encoded into the outData buffer. Due to the nature of the implementation, there may be data that cannot be fully encoded (not enough data through yet). The implementation is expected to keep this in memory until another call to encode() or a call to encodeFinish().
Implemented in OpenSSLCryptoBase64, and XSCryptCryptoBase64. |
|
Finish off an encode. The library will call this when there is no more data for the current encode operation.
Implemented in OpenSSLCryptoBase64, and XSCryptCryptoBase64. |
|
Initialise the base64 object for encoding. The XSEC library will always call this function prior to encoding any data. This function will also be called when one encode (or decode) has been completed and the library wishes to re-use the object for another encode operation. Implemented in OpenSSLCryptoBase64, and XSCryptCryptoBase64. |