ReactOS 0.4.15-dev-5667-ged97270
schannel.h
Go to the documentation of this file.
1#ifndef _SCHANNEL_H
2#define _SCHANNEL_H
3
4#include <wincrypt.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#define SCHANNEL_NAME_A "Schannel"
11#define SCHANNEL_NAME_W L"Schannel"
12#ifdef UNICODE
13#define SCHANNEL_NAME SCHANNEL_NAME_W
14#else
15#define SCHANNEL_NAME SCHANNEL_NAME_A
16#endif
17
18#define SCH_CRED_V1 1
19#define SCH_CRED_V2 2
20#define SCH_CRED_VERSION 2
21#define SCH_CRED_V3 3
22#define SCHANNEL_CRED_VERSION 4
23
24#define SCHANNEL_RENEGOTIATE 0
25#define SCHANNEL_SHUTDOWN 1
26#define SCHANNEL_ALERT 2
27#define SCHANNEL_SESSION 3
28
29#define SP_PROT_SSL2_CLIENT 8
30#define SP_PROT_SSL3_CLIENT 32
31#define SP_PROT_TLS1_CLIENT 128
32#define SP_PROT_TLS1_0_CLIENT SP_PROT_TLS1_CLIENT
33#define SP_PROT_TLS1_1_CLIENT 512
34#define SP_PROT_TLS1_2_CLIENT 2048
35#define SP_PROT_TLS1_3_CLIENT 8192
36
37#define SP_PROT_SSL2_SERVER 4
38#define SP_PROT_SSL3_SERVER 16
39#define SP_PROT_TLS1_SERVER 64
40#define SP_PROT_TLS1_0_SERVER SP_PROT_TLS1_SERVER
41#define SP_PROT_TLS1_1_SERVER 256
42#define SP_PROT_TLS1_2_SERVER 1024
43
44#define SP_PROT_PCT1_CLIENT 2
45#define SP_PROT_PCT1_SERVER 1
46
47#define SP_PROT_TLS1 (SP_PROT_TLS1_CLIENT | SP_PROT_TLS1_SERVER)
48#define SP_PROT_SSL3 (SP_PROT_SSL3_CLIENT | SP_PROT_SSL3_SERVER)
49#define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT | SP_PROT_SSL2_SERVER)
50#define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT | SP_PROT_PCT1_SERVER)
51
52#define SP_PROT_TLS1_1PLUS_CLIENT (SP_PROT_TLS1_1_CLIENT | SP_PROT_TLS1_2_CLIENT)
53
54#define SCH_CRED_NO_SYSTEM_MAPPER 2
55#define SCH_CRED_NO_SERVERNAME_CHECK 4
56#define SCH_CRED_MANUAL_CRED_VALIDATION 8
57#define SCH_CRED_NO_DEFAULT_CREDS 16
58#define SCH_CRED_AUTO_CRED_VALIDATION 32
59#define SCH_CRED_USE_DEFAULT_CREDS 64
60#define SCH_CRED_REVOCATION_CHECK_CHAIN_END_CERT 256
61#define SCH_CRED_REVOCATION_CHECK_CHAIN 512
62#define SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 1024
63#define SCH_CRED_IGNORE_NO_REVOCATION_CHECK 2048
64#define SCH_CRED_IGNORE_REVOCATION_OFFLINE 4096
65
66#define SECPKG_ATTR_ISSUER_LIST 0x50
67#define SECPKG_ATTR_REMOTE_CRED 0x51
68#define SECPKG_ATTR_LOCAL_CRED 0x52
69#define SECPKG_ATTR_REMOTE_CERT_CONTEXT 0x53
70#define SECPKG_ATTR_LOCAL_CERT_CONTEXT 0x54
71#define SECPKG_ATTR_ROOT_STORE 0x55
72#define SECPKG_ATTR_SUPPORTED_ALGS 0x56
73#define SECPKG_ATTR_CIPHER_STRENGTHS 0x57
74#define SECPKG_ATTR_SUPPORTED_PROTOCOLS 0x58
75#define SECPKG_ATTR_ISSUER_LIST_EX 0x59
76#define SECPKG_ATTR_CONNECTION_INFO 0x5a
77#define SECPKG_ATTR_EAP_KEY_BLOCK 0x5b
78#define SECPKG_ATTR_MAPPED_CRED_ATTR 0x5c
79#define SECPKG_ATTR_SESSION_INFO 0x5d
80#define SECPKG_ATTR_APP_DATA 0x5e
81
82#define UNISP_RPC_ID 14
83
84struct _HMAPPER;
85
86typedef struct _SCHANNEL_CRED
87{
93 struct _HMAPPER **aphMappers;
103
105{
109
111{
115
117{
120
122{
126
128{
137
138#ifdef __cplusplus
139}
140#endif
141
142#endif /* _SCHANNEL_H */
unsigned long DWORD
Definition: ntddk_ex.h:95
struct _SecPkgContext_IssuerListInfoEx * PSecPkgContext_IssuerListInfoEx
struct _SecPkgContext_ConnectionInfo * PSecPkgContext_ConnectionInfo
struct _SecPkgContext_IssuerListInfoEx SecPkgContext_IssuerListInfoEx
struct _SecPkgCred_SupportedProtocols * PSecPkgCred_SupportedProtocols
struct _SecPkgCred_SupportedProtocols SecPkgCred_SupportedProtocols
struct _SecPkgContext_ConnectionInfo SecPkgContext_ConnectionInfo
struct _SCHANNEL_CRED * PSCHANNEL_CRED
struct _SecPkgCred_CipherStrengths SecPkgCred_CipherStrengths
struct _SecPkgCred_SupportedAlgs SecPkgCred_SupportedAlgs
struct _SecPkgCred_SupportedAlgs * PSecPkgCred_SupportedAlgs
struct _SCHANNEL_CRED SCHANNEL_CRED
struct _SecPkgCred_CipherStrengths * PSecPkgCred_CipherStrengths
DWORD dwMaximumCipherStrength
Definition: schannel.h:98
DWORD dwFlags
Definition: schannel.h:100
DWORD dwSessionLifespan
Definition: schannel.h:99
ALG_ID * palgSupportedAlgs
Definition: schannel.h:95
DWORD cSupportedAlgs
Definition: schannel.h:94
HCERTSTORE hRootStore
Definition: schannel.h:91
DWORD dwMinimumCipherStrength
Definition: schannel.h:97
PCCERT_CONTEXT * paCred
Definition: schannel.h:90
DWORD dwCredFormat
Definition: schannel.h:101
struct _HMAPPER ** aphMappers
Definition: schannel.h:93
DWORD dwVersion
Definition: schannel.h:88
DWORD cCreds
Definition: schannel.h:89
DWORD cMappers
Definition: schannel.h:92
DWORD grbitEnabledProtocols
Definition: schannel.h:96
unsigned int ALG_ID
Definition: wincrypt.h:45