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.

129 lines
3.4 KiB

  1. #ifndef __SSLCONFIGCOMMON__HXX__
  2. #define __SSLCONFIGCOMMON__HXX__
  3. /*++
  4. Copyright (c) 2001 Microsoft Corporation
  5. Module Name :
  6. sslconfigcommon.cxx
  7. Abstract:
  8. common constants shared by client and server side
  9. of SSL CONFIG PROV
  10. Author:
  11. Jaroslav Dunajsky April-24-2001
  12. Environment:
  13. Win32 - User Mode
  14. Project:
  15. Stream Filter Worker Process
  16. --*/
  17. //
  18. // named pipes that server side of SSL CONFIG PROV is listening
  19. //
  20. static const WCHAR * WSZ_SSL_CONFIG_PIPE = L"\\\\.\\pipe\\SslConfig";
  21. static const WCHAR * WSZ_SSL_CONFIG_CHANGE_PIPE = L"\\\\.\\pipe\\SslConfigChangeNotif";
  22. static const DWORD MAX_SIZE_SSL_HASH = 40;
  23. static const DWORD MAX_SIZE_SSL_STORE_NAME = 40;
  24. static const DWORD MAX_SIZE_SSL_CONTAINER = 60;
  25. //
  26. // SSL configuration default values
  27. //
  28. static const DWORD DEFAULT_REVOCATION_FRESHNESS_TIME = 86400; /*1 day in seconds*/
  29. //
  30. // Command ID used to identify specific information
  31. // to be retrieved over named pipe
  32. //
  33. enum SSL_CONFIG_COMMAND_ID
  34. {
  35. CMD_GET_SSL_CONFIGURATION = 2,
  36. CMD_GET_ONE_SITE_SECURE_BINDINGS,
  37. CMD_GET_ALL_SITES_SECURE_BINDINGS,
  38. // end of valid commands
  39. INVALID_SSL_CONFIGURATION_COMMAND
  40. };
  41. //
  42. // SSL config change notifications
  43. //
  44. enum SSL_CONFIG_CHANGE_COMMAND_ID
  45. {
  46. // change notification commands
  47. CMD_CHANGED_SECURE_BINDINGS,
  48. CMD_CHANGED_SSL_CONFIGURATION,
  49. CMD_CHANGED_ALL
  50. };
  51. //
  52. // Structure encapsulating all relevant SSL settings
  53. // It is retrieved by CMD_GET_SSL_CONFIGURATION command
  54. //
  55. //
  56. // CODEWORK: hardcoded sizes for hashes and strings
  57. // may eventually be causing problems
  58. // Change structure to format that can take any value saved to metabase
  59. //
  60. struct SITE_SSL_CONFIGURATION
  61. {
  62. // MD_SSL_USE_DS_MAPPER
  63. BOOL _fSslUseDsMapper;
  64. // MD_SSL_ACCESS_PERM
  65. DWORD _dwSslAccessPerm;
  66. // MD_SSL_CERT_HASH
  67. BYTE _SslCertHash[ MAX_SIZE_SSL_HASH ];
  68. DWORD _cbSslCertHash;
  69. // MD_SSL_CERT_STORE_NAME
  70. WCHAR _SslCertStoreName[ MAX_SIZE_SSL_STORE_NAME ];
  71. // MD_SSL_CERT_CONTAINER
  72. WCHAR _SslCertContainer[ MAX_SIZE_SSL_CONTAINER ];
  73. // MD_SSL_CERT_PROVIDER
  74. DWORD _dwSslCertProvider;
  75. // MD_SSL_CERT_OPEN_FLAGS
  76. DWORD _dwSslCertOpenFlags;
  77. // MD_CERT_CHECK_MODE
  78. DWORD _dwCertCheckMode;
  79. // MD_REVOCATION_FRESHNESS_TIME
  80. DWORD _dwRevocationFreshnessTime;
  81. // MD_REVOCATION_URL_RETRIEVAL_TIMEOUT
  82. DWORD _dwRevocationUrlRetrievalTimeout;
  83. // MD_SSL_CTL_IDENTIFIER
  84. WCHAR _SslCtlIdentifier[ MAX_SIZE_SSL_CONTAINER ];
  85. // MD_SSL_CTL_PROVIDER
  86. DWORD _dwSslCtlProvider;
  87. // MD_SSL_CTL_PROVIDER_TYPE
  88. DWORD _dwSslCtlProviderType;
  89. // MD_SSL_CTL_OPEN_FLAGS
  90. DWORD _dwSslCtlOpenFlags;
  91. // MD_SSL_CTL_STORE_NAME
  92. WCHAR _SslCtlStoreName[ MAX_SIZE_SSL_STORE_NAME ];
  93. // MD_SSL_CTL_CONTAINER
  94. WCHAR _SslCtlContainerName[ MAX_SIZE_SSL_CONTAINER ];
  95. // MD_SSL_CTL_SIGNER_HASH
  96. BYTE _SslCtlSignerHash[ MAX_SIZE_SSL_HASH ];
  97. DWORD _cbSslCtlSignerHash;
  98. // this flag is not in the metabase
  99. // HTTP API supports such a flag so we need a place to store it
  100. // Endpoint may be explicitly flagged not to support Raw ISAPI Filter handling
  101. // This applied only when IIS6 is running in the IIS5 Isolation Mode
  102. BOOL _fNoRawFilter;
  103. };
  104. #endif