00001 00009 #ifndef __PKIFCRYPTUTILS_H__ 00010 #define __PKIFCRYPTUTILS_H__ 00011 00012 #include "PKIFdll.h" 00013 00014 class IPKIFCryptoRawOperations; 00015 // retain IPKIFCryptoRaw so as not to break old code 00016 typedef IPKIFCryptoRawOperations IPKIFCryptoRaw; 00017 class IPKIFCryptoMisc; 00018 class IPKIFColleague; 00019 class CPKIFAlgorithm; 00020 FD_SMART_PTR(IPKIFColleague); 00021 FD_SMART_PTR(CPKIFKeyMaterial); 00022 FD_SMART_PTR(CPKIFBuffer); 00023 00024 00025 CAC_API IPKIFCryptoRaw * GetPlatformCryptoRaw(void); 00026 CAC_API IPKIFCryptoMisc * GetPlatformCryptoMisc(void); 00027 CAC_API IPKIFColleaguePtr MakeDefaultKeyIDColleague(void); 00028 CAC_API IPKIFColleaguePtr MakeDefaultRawColleague(void); 00029 CAC_API void ShutdownCrypto(void); 00030 CAC_API std::string GetCurrentNSSDBDir(void); 00031 CAC_API bool IsNSSDBInitialized(void); 00032 CAC_API CPKIFBufferPtr WrapSymmKey(const CPKIFKeyMaterialPtr & kek, const CPKIFKeyMaterialPtr & key, const IPKIFCryptoRawOperations * crypto = 0); 00033 CAC_API CPKIFKeyMaterialPtr UnwrapSymmKey(const CPKIFKeyMaterialPtr & kek, const CPKIFBufferPtr & key, const IPKIFCryptoRawOperations * crypto); 00034 00035 #endif 00036