00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef XSECCRYPTOBASE64_INCLUDE
00029 #define XSECCRYPTOBASE64_INCLUDE
00030
00031 #include <xsec/framework/XSECDefs.hpp>
00032
00036
00037
00054 class DSIG_EXPORT XSECCryptoBase64 {
00055
00056
00057 public :
00058
00059
00060
00061 XSECCryptoBase64() {};
00062 virtual ~XSECCryptoBase64() {};
00063
00066
00077 virtual void decodeInit(void) = 0;
00078
00099 virtual unsigned int decode(const unsigned char * inData,
00100 unsigned int inLength,
00101 unsigned char * outData,
00102 unsigned int outLength) = 0;
00114 virtual unsigned int decodeFinish(unsigned char * outData,
00115 unsigned int outLength) = 0;
00116
00118
00121
00132 virtual void encodeInit(void) = 0;
00133
00156 virtual unsigned int encode(const unsigned char * inData,
00157 unsigned int inLength,
00158 unsigned char * outData,
00159 unsigned int outLength) = 0;
00172 virtual unsigned int encodeFinish(unsigned char * outData,
00173 unsigned int outLength) = 0;
00174
00176
00179
00194 static char * cleanBuffer(const char * buffer, unsigned int bufLen, unsigned int &retBufLen);
00195
00197
00198 };
00199
00200 #endif