// iopPriBlob.h: interface for the CPrivateKeyBlob // ////////////////////////////////////////////////////////////////////// #if !defined(IOP_PRIBLOB_H) #define IOP_PRIBLOB_H #include #include #include "DllSymDefn.h" namespace iop { // Instantiate the templates so they will be properly accessible // as data members to the exported class CSmartCard in the DLL. See // MSDN Knowledge Base Article Q168958 for more information. #pragma warning(push) // Non-standard extension used: 'extern' before template explicit // instantiation #pragma warning(disable : 4231) IOPDLL_EXPIMP_TEMPLATE template class IOPDLL_API scu::SecureArray; IOPDLL_EXPIMP_TEMPLATE template class IOPDLL_API scu::SecureArray; #pragma warning(pop) class IOPDLL_API CPrivateKeyBlob { public: CPrivateKeyBlob() : bP(scu::SecureArray(64)), bQ(scu::SecureArray(64)), bInvQ(scu::SecureArray(64)), bKsecModQ(scu::SecureArray(64)), bKsecModP(scu::SecureArray(64)) { }; virtual ~CPrivateKeyBlob(){}; BYTE bPLen; BYTE bQLen; BYTE bInvQLen; BYTE bKsecModQLen; BYTE bKsecModPLen; scu::SecureArray bP; scu::SecureArray bQ; scu::SecureArraybInvQ; scu::SecureArray bKsecModQ; scu::SecureArray bKsecModP; }; /////////////////////////// HELPERS ///////////////////////////////// void IOPDLL_API __cdecl // __cdecl req'd by CCI Clear(CPrivateKeyBlob &rKeyBlob); // defined in KeyBlobHlp.cpp } // namespace iop #endif // IOP_PRIBLOB_H