00001 00009 #ifndef __IPKIFCRYPTMISC_H__ 00010 #define __IPKIFCRYPTMISC_H__ 00011 00012 #include "PKIFdll.h" 00013 #include "PKIFCryptoConstants.h" 00014 00015 // forward declaration 00016 class IPKIFHashContext; 00017 00025 class CAC_API CAC_NO_VTABLE IPKIFCryptoMisc 00026 { 00027 public: 00028 IPKIFCryptoMisc(); //added 8/21/2004 00029 virtual void GenRandom(unsigned char* buf, int len) = 0; 00030 00031 virtual IPKIFHashContext* HashInit(PKIFCRYPTO::HASH_ALG alg) = 0; 00032 virtual void HashUpdate(IPKIFHashContext* hash, unsigned char* pData, int nDataLen) = 0; 00033 virtual void HashFinal(IPKIFHashContext* hash, unsigned char* pResult, int* pnResultLen) = 0; 00034 private: 00035 //added 8/21/2004 00036 IPKIFCryptoMisc(const IPKIFCryptoMisc& copy); 00037 IPKIFCryptoMisc& operator=(const IPKIFCryptoMisc& rhs); 00038 }; 00039 DECLARE_SMART_POINTERS(IPKIFCryptoMisc); 00040 00041 #endif //__IPKIFCRYPTMISC_H__ 00042