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.

166 lines
3.4 KiB

  1. /*++
  2. Copyright (c) 1994-1998 Microsoft Corporation
  3. Module Name :
  4. security.h
  5. Abstract:
  6. WWW Security Property Page Definitions
  7. Author:
  8. Ronald Meijer (ronaldm)
  9. Project:
  10. Internet Services Manager
  11. Revision History:
  12. --*/
  13. #ifndef __WSECURITY_H__
  14. #define __WSECURITY_H__
  15. //{{AFX_INCLUDES()
  16. #include "certauth.h"
  17. #include "certmap.h"
  18. #include "certwiz.h"
  19. //}}AFX_INCLUDES
  20. #include "wincrypt.h"
  21. class CW3SecurityPage : public CInetPropertyPage
  22. /*++
  23. Class Description:
  24. WWW Security property page
  25. Public Interface:
  26. CW3SecurityPage : Constructor
  27. ~CW3SecurityPage : Destructor
  28. --*/
  29. {
  30. DECLARE_DYNCREATE(CW3SecurityPage)
  31. //
  32. // Construction
  33. //
  34. public:
  35. CW3SecurityPage(
  36. IN CInetPropertySheet * pSheet = NULL,
  37. IN BOOL fHome = FALSE,
  38. IN DWORD dwAttributes = 0L
  39. );
  40. ~CW3SecurityPage();
  41. //
  42. // Dialog Data
  43. //
  44. protected:
  45. //{{AFX_DATA(CW3SecurityPage)
  46. enum { IDD = IDD_DIRECTORY_SECURITY };
  47. BOOL m_fUseNTMapper;
  48. CStatic m_icon_Secure;
  49. CStatic m_static_SSLPrompt;
  50. CButton m_check_EnableDS;
  51. CButton m_button_GetCertificates;
  52. CButton m_button_ViewCertificates;
  53. CButton m_button_Communications;
  54. //}}AFX_DATA
  55. CCertWiz m_ocx_CertificateAuthorities;
  56. DWORD m_dwAuthFlags;
  57. DWORD m_dwSSLAccessPermissions;
  58. CString m_strBasicDomain;
  59. CString m_strRealm;
  60. //
  61. // Overrides
  62. //
  63. protected:
  64. virtual HRESULT FetchLoadedValues();
  65. virtual HRESULT SaveInfo();
  66. //{{AFX_VIRTUAL(CW3SecurityPage)
  67. public:
  68. virtual BOOL OnSetActive();
  69. protected:
  70. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  71. //}}AFX_VIRTUAL
  72. //
  73. // Implementation
  74. //
  75. protected:
  76. //{{AFX_MSG(CW3SecurityPage)
  77. afx_msg void OnButtonAuthentication();
  78. afx_msg void OnButtonCommunications();
  79. afx_msg void OnButtonIpSecurity();
  80. afx_msg void OnButtonGetCertificates();
  81. afx_msg void OnButtonViewCertificates();
  82. virtual BOOL OnInitDialog();
  83. //}}AFX_MSG
  84. afx_msg void OnItemChanged();
  85. DECLARE_MESSAGE_MAP()
  86. BOOL FetchSSLState();
  87. void SetSSLControlState();
  88. LPCTSTR QueryInstanceMetaPath();
  89. //
  90. // Sheet Access
  91. //
  92. protected:
  93. CBlob & GetIPL() { return ((CW3Sheet *)GetSheet())->GetDirectoryProperties().m_ipl; }
  94. private:
  95. BOOL m_fIpDirty;
  96. BOOL m_fDefaultGranted;
  97. BOOL m_fOldDefaultGranted;
  98. BOOL m_fPasswordSync;
  99. BOOL m_fPasswordSyncInitial;
  100. BOOL m_fCertInstalled;
  101. BOOL m_fU2Installed;
  102. BOOL m_fHome;
  103. CString m_strAnonUserName;
  104. CStrPassword m_strAnonPassword;
  105. CObListPlus m_oblAccessList;
  106. //
  107. // Certificate and CTL information
  108. //
  109. CBlob m_CertHash;
  110. CString m_strCertStoreName;
  111. CString m_strCTLIdentifier;
  112. CString m_strCTLStoreName;
  113. };
  114. //
  115. // Inline Expansion
  116. //
  117. // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  118. inline LPCTSTR CW3SecurityPage::QueryInstanceMetaPath()
  119. {
  120. return ((CW3Sheet *)GetSheet())->GetInstanceProperties().QueryMetaRoot();
  121. }
  122. BOOL
  123. CheckForCertificateRenewal(
  124. DWORD dwProtocol,
  125. PCCERT_CONTEXT pCertContext,
  126. PCCERT_CONTEXT *ppNewCertificate);
  127. #endif // __SECURITY_H__