Source code of Windows XP (NT5)
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.

175 lines
3.5 KiB

  1. /*++
  2. Copyright (c) 1994-1998 Microsoft Corporation
  3. Module Name :
  4. authent.cpp
  5. Abstract:
  6. WWW Authentication Dialog Definitions
  7. Author:
  8. Ronald Meijer (ronaldm)
  9. Project:
  10. Internet Services Manager
  11. Revision History:
  12. --*/
  13. #ifndef __SECCOM_H__
  14. #define __SECCOM_H__
  15. //{{AFX_INCLUDES()
  16. #include "certmap.h"
  17. #include "certauth.h"
  18. #include "certwiz.h"
  19. //}}AFX_INCLUDES
  20. class CSecCommDlg : public CDialog
  21. /*++
  22. Class Description:
  23. Authantication dialog
  24. Public Interface:
  25. CSecCommDlg : Constructor
  26. --*/
  27. {
  28. //
  29. // Construction
  30. //
  31. public:
  32. CSecCommDlg(
  33. IN LPCTSTR lpstrServerName, // For API name only
  34. IN LPCTSTR lpstrMetaPath, // For use in ocx only
  35. IN CString & strBasicDomain,
  36. IN DWORD & dwAuthFlags,
  37. IN DWORD & dwAccessPermissions,
  38. IN BOOL fIsMasterInstance,
  39. IN BOOL fSSLSupported,
  40. IN BOOL fSSL128Supported,
  41. IN BOOL fU2Installed,
  42. IN CString & strCTLIdentifier,
  43. IN CString & strCTLStoreName,
  44. IN BOOL fEditCTLs,
  45. IN BOOL fIsLocal,
  46. IN CWnd * pParent = NULL OPTIONAL
  47. );
  48. ~CSecCommDlg();
  49. //
  50. // Dialog Data
  51. //
  52. public:
  53. CString m_strCTLIdentifier;
  54. CString m_strCTLStoreName;
  55. BOOL m_bCTLDirty;
  56. protected:
  57. //
  58. // Radio button values
  59. //
  60. enum
  61. {
  62. RADIO_NO_CERT,
  63. RADIO_ACCEPT_CERT,
  64. RADIO_REQ_CERT,
  65. };
  66. //{{AFX_DATA(CSecCommDlg)
  67. enum { IDD = IDD_SECURE_COMMUNICATIONS };
  68. int m_nRadioNoCert;
  69. BOOL m_fAccountMapping;
  70. BOOL m_fRequireSSL;
  71. BOOL m_fRequire128BitSSL;
  72. BOOL m_fEnableCtl;
  73. CString m_strCtl;
  74. CStatic m_static_CTLPrompt;
  75. CStatic m_static_CTLSeparator;
  76. CButton m_check_AccountMapping;
  77. CButton m_check_RequireSSL;
  78. CButton m_check_Require128BitSSL;
  79. CButton m_check_EnableDS;
  80. CButton m_check_EnableCtl;
  81. CButton m_button_EditCtl;
  82. CButton m_button_NewCtl;
  83. CCertmap m_ocx_ClientMappings;
  84. CComboBox m_combo_ctl;
  85. //}}AFX_DATA
  86. CButton m_radio_RequireCert;
  87. CButton m_radio_AcceptCert;
  88. CCertWiz m_ocx_CertificateAuthorities;
  89. //
  90. // Overrides
  91. //
  92. protected:
  93. //{{AFX_VIRTUAL(CSecCommDlg)
  94. protected:
  95. virtual void DoDataExchange(CDataExchange * pDX);
  96. //}}AFX_VIRTUAL
  97. //
  98. // Implementation
  99. //
  100. protected:
  101. //{{AFX_MSG(CSecCommDlg)
  102. virtual BOOL OnInitDialog();
  103. virtual void OnOK();
  104. afx_msg void OnCheckSslAccountMapping();
  105. afx_msg void OnCheckRequireSsl();
  106. afx_msg void OnRadioAcceptCert();
  107. afx_msg void OnRadioNoCert();
  108. afx_msg void OnRadioRequireCert();
  109. afx_msg void OnButtonEditCtl();
  110. afx_msg void OnCheckEnableCtl();
  111. afx_msg void OnButtonNewCtl();
  112. afx_msg void OnSelchangeComboCtl();
  113. afx_msg void OnDestroy();
  114. //}}AFX_MSG
  115. DECLARE_MESSAGE_MAP()
  116. void SetControlStates();
  117. private:
  118. BOOL AddCTLToList(PCCTL_CONTEXT pCTL, BOOL fSelect);
  119. PCCTL_CONTEXT CallCTLWizard(PCCTL_CONTEXT pCTLSrc);
  120. void InitializeCTLList();
  121. void CleanUpCTLList();
  122. HCERTSTORE m_hCTLStore;
  123. INT m_iLastUsedCert;
  124. DWORD & m_dwAuthFlags;
  125. DWORD & m_dwAccessPermissions;
  126. DWORD m_dwInstance;
  127. BOOL m_fEditCTLs;
  128. BOOL m_fSSLEnabledOnServer;
  129. BOOL m_fSSLInstalledOnServer;
  130. BOOL m_fSSL128Supported;
  131. BOOL m_fU2Installed;
  132. BOOL m_fIsLocal;
  133. BOOL m_fIsMasterInstance;
  134. CString m_strServerName;
  135. CString m_strMetaPath;
  136. };
  137. #endif // __SECCOM_H__