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
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
|