PKIFXSECCryptoKeyDSA.h
Go to the documentation of this file.00001
00010 #if !defined(__PKIFXSECCRYPTOKEYDSA_H__)
00011 #define __PKIFXSECCRYPTOKEYDSA_H__
00012
00013 #include "pkif.h"
00014 #include "PKIFXSECProviderDll.h"
00015
00016 #include <xsec/enc/XSECCryptoKeyDSA.hpp>
00017
00018 struct PKIFXSECCryptoKeyDSAImpl;
00019
00027 class PKIFXML_API PKIFXSECCryptoKeyDSA : public XSECCryptoKeyDSA
00028 {
00029
00030 public :
00031 PKIFXSECCryptoKeyDSA();
00032 virtual ~PKIFXSECCryptoKeyDSA();
00033
00034 virtual XSECCryptoKey * clone() const;
00035 virtual bool verifyBase64Signature(unsigned char * hashBuf,
00036 unsigned int hashLen,
00037 char * base64Signature,
00038 unsigned int sigLen);
00039 virtual unsigned int signBase64Signature(unsigned char * hashBuf,
00040 unsigned int hashLen,
00041 char * base64SignatureBuf,
00042 unsigned int base64SignatureBufLen);
00043
00044 virtual void SetMediator(IPKIFMediatorPtr & med);
00045 virtual void SetCredential(CPKIFCredentialPtr & cred);
00046 virtual void SetKeyMaterial(CPKIFKeyMaterialPtr & km);
00047
00048 virtual XSECCryptoKey::KeyType getKeyType() const;
00049
00050 virtual const XMLCh * getProviderName() const;
00051
00052 protected:
00053 PKIFXSECCryptoKeyDSAImpl * m_impl;
00054
00055 public:
00063 virtual void loadPBase64BigNums(const char * b64, unsigned int len) {}
00071 virtual void loadQBase64BigNums(const char * b64, unsigned int len) {}
00079 virtual void loadGBase64BigNums(const char * b64, unsigned int len) {}
00087 virtual void loadYBase64BigNums(const char * b64, unsigned int len) {}
00095 virtual void loadJBase64BigNums(const char * b64, unsigned int len) {}
00096
00097 };
00098
00099
00100 #endif
00101