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
00043 class DSIG_EXPORT XSECCryptoKeyDSA : public XSECCryptoKey {
00044
00045 public :
00046
00049
00050 XSECCryptoKeyDSA() {};
00051 virtual ~XSECCryptoKeyDSA() {};
00052
00054
00057
00065 virtual XSECCryptoKey::KeyType getKeyType() {return KEY_NONE;}
00066
00071 virtual XSECCryptoKey * clone() = 0;
00072
00074
00080
00093 virtual bool verifyBase64Signature(unsigned char * hashBuf,
00094 unsigned int hashLen,
00095 char * base64Signature,
00096 unsigned int sigLen) = 0;
00097
00114 virtual unsigned int signBase64Signature(unsigned char * hashBuf,
00115 unsigned int hashLen,
00116 char * base64SignatureBuf,
00117 unsigned int base64SignatureBufLen) = 0;
00118
00120
00131
00139 virtual void loadPBase64BigNums(const char * b64, unsigned int len) = 0;
00140
00148 virtual void loadQBase64BigNums(const char * b64, unsigned int len) = 0;
00149
00157 virtual void loadGBase64BigNums(const char * b64, unsigned int len) = 0;
00158
00166 virtual void loadYBase64BigNums(const char * b64, unsigned int len) = 0;
00167
00175 virtual void loadJBase64BigNums(const char * b64, unsigned int len) = 0;
00176
00178 };
00179
00180
00181 #endif