#include "cmdbase.h" const long lMinKeyFileSize = 164;//smallest size of the keysfaile const long lKiloByte = 1024;//1 kilobyte in bytes const long lMegaByte = lKiloByte*lKiloByte;//1 megabyte in bytes const long lScrollZoom = 100; const long lMaxKeyFileSize = 10*lMegaByte;//10 Mb in this version const szptr szOptionKeyFileSize = "KeyFileSize"; const unsigned int uiKWNHeaderOffset = 2; const unsigned int uiKWNHeaderSize = uiKWNHeaderOffset + lMinKeyFileSize; const unsigned int uiBlockSizeOffset = 1; class Signer { protected: szptr m_szUserName; szptr m_szPassword; szptr m_szKeyFileName; short m_siErrorCode; Keys keys; bool SecureKeyByIDPW(char *buf, DWORD dwBuf); bool SecureKeyByIDPWHalf(char *buf, DWORD dwBuf); int virtual LoadKeys(); public: Signer(const char *szLogin, const char *szPassword, const char *szKeyFileName); bool Sign(const char *szIn, szptr& szSign); short ErrorCode(); }; class Signer2: public Signer { protected: szptr m_strKeyData; short m_siErrorCode; int virtual LoadKeys(); public: Signer2(const char *szLogin, const char *szPassword, const char *szKeyData); short ErrorCode(); };