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

#ifndef __SSLCONFIGCOMMON__HXX__
#define __SSLCONFIGCOMMON__HXX__
/*++
Copyright (c) 2001 Microsoft Corporation
Module Name :
sslconfigcommon.cxx
Abstract:
common constants shared by client and server side
of SSL CONFIG PROV
Author:
Jaroslav Dunajsky April-24-2001
Environment:
Win32 - User Mode
Project:
Stream Filter Worker Process
--*/
//
// named pipes that server side of SSL CONFIG PROV is listening
//
static const WCHAR * WSZ_SSL_CONFIG_PIPE = L"\\\\.\\pipe\\SslConfig";
static const WCHAR * WSZ_SSL_CONFIG_CHANGE_PIPE = L"\\\\.\\pipe\\SslConfigChangeNotif";
static const DWORD MAX_SIZE_SSL_HASH = 40;
static const DWORD MAX_SIZE_SSL_STORE_NAME = 40;
static const DWORD MAX_SIZE_SSL_CONTAINER = 60;
//
// SSL configuration default values
//
static const DWORD DEFAULT_REVOCATION_FRESHNESS_TIME = 86400; /*1 day in seconds*/
//
// Command ID used to identify specific information
// to be retrieved over named pipe
//
enum SSL_CONFIG_COMMAND_ID
{
CMD_GET_SSL_CONFIGURATION = 2,
CMD_GET_ONE_SITE_SECURE_BINDINGS,
CMD_GET_ALL_SITES_SECURE_BINDINGS,
// end of valid commands
INVALID_SSL_CONFIGURATION_COMMAND
};
//
// SSL config change notifications
//
enum SSL_CONFIG_CHANGE_COMMAND_ID
{
// change notification commands
CMD_CHANGED_SECURE_BINDINGS,
CMD_CHANGED_SSL_CONFIGURATION,
CMD_CHANGED_ALL
};
//
// Structure encapsulating all relevant SSL settings
// It is retrieved by CMD_GET_SSL_CONFIGURATION command
//
//
// CODEWORK: hardcoded sizes for hashes and strings
// may eventually be causing problems
// Change structure to format that can take any value saved to metabase
//
struct SITE_SSL_CONFIGURATION
{
// MD_SSL_USE_DS_MAPPER
BOOL _fSslUseDsMapper;
// MD_SSL_ACCESS_PERM
DWORD _dwSslAccessPerm;
// MD_SSL_CERT_HASH
BYTE _SslCertHash[ MAX_SIZE_SSL_HASH ];
DWORD _cbSslCertHash;
// MD_SSL_CERT_STORE_NAME
WCHAR _SslCertStoreName[ MAX_SIZE_SSL_STORE_NAME ];
// MD_SSL_CERT_CONTAINER
WCHAR _SslCertContainer[ MAX_SIZE_SSL_CONTAINER ];
// MD_SSL_CERT_PROVIDER
DWORD _dwSslCertProvider;
// MD_SSL_CERT_OPEN_FLAGS
DWORD _dwSslCertOpenFlags;
// MD_CERT_CHECK_MODE
DWORD _dwCertCheckMode;
// MD_REVOCATION_FRESHNESS_TIME
DWORD _dwRevocationFreshnessTime;
// MD_REVOCATION_URL_RETRIEVAL_TIMEOUT
DWORD _dwRevocationUrlRetrievalTimeout;
// MD_SSL_CTL_IDENTIFIER
WCHAR _SslCtlIdentifier[ MAX_SIZE_SSL_CONTAINER ];
// MD_SSL_CTL_PROVIDER
DWORD _dwSslCtlProvider;
// MD_SSL_CTL_PROVIDER_TYPE
DWORD _dwSslCtlProviderType;
// MD_SSL_CTL_OPEN_FLAGS
DWORD _dwSslCtlOpenFlags;
// MD_SSL_CTL_STORE_NAME
WCHAR _SslCtlStoreName[ MAX_SIZE_SSL_STORE_NAME ];
// MD_SSL_CTL_CONTAINER
WCHAR _SslCtlContainerName[ MAX_SIZE_SSL_CONTAINER ];
// MD_SSL_CTL_SIGNER_HASH
BYTE _SslCtlSignerHash[ MAX_SIZE_SSL_HASH ];
DWORD _cbSslCtlSignerHash;
// this flag is not in the metabase
// HTTP API supports such a flag so we need a place to store it
// Endpoint may be explicitly flagged not to support Raw ISAPI Filter handling
// This applied only when IIS6 is running in the IIS5 Isolation Mode
BOOL _fNoRawFilter;
};
#endif