00001 00010 #if !defined(__PKIFXSECCRYPTOKEYHMAC_H__) 00011 #define __PKIFXSECCRYPTOKEYHMAC_H__ 00012 00013 #include "pkif.h" 00014 #include "PKIFXSECProviderDll.h" 00015 00016 #include <xsec/enc/XSECCryptoKeyHMAC.hpp> 00017 #include <xsec/utils/XSECSafeBuffer.hpp> 00018 00019 class PKIFXSECCryptoKeyRaw; 00020 00026 class PKIFXSECCryptoKeyHMAC : public XSECCryptoKeyHMAC 00027 { 00028 public: 00029 PKIFXSECCryptoKeyHMAC(); 00030 PKIFXSECCryptoKeyHMAC(CPKIFKeyMaterialPtr & km); 00031 virtual ~PKIFXSECCryptoKeyHMAC(); 00032 00033 virtual void setKey(unsigned char * inBuf, unsigned int inLength); 00034 virtual unsigned int getKey(safeBuffer &outBuf) const; 00035 00036 CPKIFKeyMaterialPtr getPKIFKeyMaterial(); 00037 void setPKIFKeyMaterial(CPKIFKeyMaterialPtr & km); 00038 00039 virtual XSECCryptoKey * clone() const; 00040 virtual const XMLCh * getProviderName() const; 00041 00042 protected: 00044 PKIFXSECCryptoKeyRaw * m_rawKey; 00045 }; 00046 00047 #endif 00048