enum { KEY_EXPIRE_STATUS_INVALIDKEY = 0, KEY_EXPIRE_STATUS_OK, KEY_EXPIRE_STATUS_EXIRES_SOON, KEY_EXPIRE_STATUS_EXPIRED }; // forward declare the service class class CW3KeyService; //------------------------------------------------------------- // This is the key object class CW3Key : public CCmnKey { public: CW3Key(); ~CW3Key(); void UpdateCaption( void ); // init from keyset key BOOL FInitKey( HANDLE hPolicy, PWCHAR pwszName ); // init from stored keyset key BOOL FInitKey( PVOID pData, DWORD cbSrc ); // copy the members from a key into this key virtual void CopyDataFrom( CKey* pKey ); // make a copy of the key virtual CKey* PClone( void ); BOOL FIsDefault( void ) { return m_fDefault; } void SetDefault(); void OnProperties(); // generate a handle containing data that gets stored and then is used to restore // the key object at a later date. Restore this key by passing this dereferenced // handle back into the FInitKey routine above. HANDLE HGenerateDataHandle( BOOL fIncludePassword ); BOOL InitializeFromPointer( PUCHAR pSrc, DWORD cbSrc ); // install a cert BOOL FInstallCertificate( PVOID pCert, DWORD cbCert, CString &szPass ); // The key dirty routine actually just calls the host machine's dirty routine // BOOL FSetDirty( void ); // save this key out as a set of secrets BOOL WriteKey( HANDLE hPolicy, WORD iKey, PWCHAR pwcharName ); BOOL WriteW3Keys( HANDLE hPolicy, WCHAR* pWName ); BOOL ImportW3Key( HANDLE hPolicy, WCHAR* pWName ); // data used to maintain links to servers BOOL m_fDefault; CString m_szIPAddress; protected: // DO declare all this DYNCREATE DECLARE_DYNCREATE(CW3Key); private: };