Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.0 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1997-2001.
  5. //
  6. // File: ctl.h
  7. //
  8. // Contents:
  9. //
  10. //----------------------------------------------------------------------------
  11. #if !defined(AFX_CTL_H__6C3D4D37_3527_11D1_B4AD_00C04FB94F17__INCLUDED_)
  12. #define AFX_CTL_H__6C3D4D37_3527_11D1_B4AD_00C04FB94F17__INCLUDED_
  13. #if _MSC_VER >= 1000
  14. #pragma once
  15. #endif // _MSC_VER >= 1000
  16. #include "cookie.h"
  17. class CCTL : public CCertMgrCookie
  18. {
  19. public:
  20. BOOL DeleteFromStore ();
  21. virtual void Refresh();
  22. SPECIAL_STORE_TYPE GetStoreType () const;
  23. CString GetFriendlyName ();
  24. CString GetPurpose ();
  25. CCTL (const PCCTL_CONTEXT pCTLContext,
  26. CCertStore& rCertStore,
  27. CertificateManagerObjectType objectType = CERTMGR_CTL,
  28. CTypedPtrList<CPtrList, CCertStore*>* pStoreList = 0);
  29. virtual ~CCTL();
  30. int CompareNextUpdate (const CCTL& ctl) const;
  31. int CompareEffectiveDate (const CCTL& ctl) const;
  32. PCCTL_CONTEXT GetCTLContext() const;
  33. CCertStore& GetCertStore() const;
  34. CString GetIssuerName ();
  35. CString GetNextUpdate ();
  36. CString GetEffectiveDate ();
  37. CString GetSHAHash();
  38. protected:
  39. PCCTL_CONTEXT GetNewCTLContext();
  40. void FormatEnhancedKeyUsagePropertyString (CString& string);
  41. HRESULT GetSignerInfo (CString & signerName);
  42. CString CCTL::GetGenericHash(DWORD dwPropId);
  43. private:
  44. CCertStore* m_pStoreCollection;
  45. CString m_szFriendlyName;
  46. CString m_szPurpose;
  47. CCertStore& m_rCertStore;
  48. PCCTL_CONTEXT m_pCTLContext;
  49. CString m_szEffectiveDate;
  50. CString m_szNextUpdate;
  51. CString m_szIssuerName;
  52. PCTL_INFO m_pCTLInfo;
  53. CTypedPtrList<CPtrList, CCertStore*> m_storeList;
  54. HCERTSTORE m_hExtraStore;
  55. CString m_szSHAHash;
  56. };
  57. #endif // !defined(AFX_CTL_H__6C3D4D37_3527_11D1_B4AD_00C04FB94F17__INCLUDED_)