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 XSECCRYPTOKEYDSA_INCLUDE
00029 #define XSECCRYPTOKEYDSA_INCLUDE
00030
00031 #include <xsec/enc/XSECCryptoKey.hpp>
00032
00044 class DSIG_EXPORT XSECCryptoKeyDSA : public XSECCryptoKey {
00045
00046 public :
00047
00050
00051 XSECCryptoKeyDSA() {};
00052 virtual ~XSECCryptoKeyDSA() {};
00053
00055
00058
00066 virtual XSECCryptoKey::KeyType getKeyType() {return KEY_NONE;}
00067
00072 virtual XSECCryptoKey * clone() = 0;
00073
00075
00081
00094 virtual bool verifyBase64Signature(unsigned char * hashBuf,
00095 unsigned int hashLen,
00096 char * base64Signature,
00097 unsigned int sigLen) = 0;
00098
00115 virtual unsigned int signBase64Signature(unsigned char * hashBuf,
00116 unsigned int hashLen,
00117 char * base64SignatureBuf,
00118 unsigned int base64SignatureBufLen) = 0;
00119
00121
00132
00140 virtual void loadPBase64BigNums(const char * b64, unsigned int len) = 0;
00141
00149 virtual void loadQBase64BigNums(const char * b64, unsigned int len) = 0;
00150
00158 virtual void loadGBase64BigNums(const char * b64, unsigned int len) = 0;
00159
00167 virtual void loadYBase64BigNums(const char * b64, unsigned int len) = 0;
00168
00176 virtual void loadJBase64BigNums(const char * b64, unsigned int len) = 0;
00177
00179 };
00180
00181
00182 #endif