4 #pragma GCC system_header
13 #define SCHANNEL_CRED_VERSION 4
14 #define SCHANNEL_SHUTDOWN 1
15 /* ? Do these belong here or in wincrypt.h */
16 #define AUTHTYPE_CLIENT 1
17 #define AUTHTYPE_SERVER 2
19 #define SP_PROT_TLS1_CLIENT 128
20 #define SP_PROT_TLS1_SERVER 64
21 #define SP_PROT_SSL3_CLIENT 32
22 #define SP_PROT_SSL3_SERVER 16
23 #define SP_PROT_SSL2_CLIENT 8
24 #define SP_PROT_SSL2_SERVER 4
25 #define SP_PROT_PCT1_SERVER 1
26 #define SP_PROT_PCT1_CLIENT 2
28 #define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT|SP_PROT_PCT1_SERVER)
29 #define SP_PROT_TLS1 (SP_PROT_TLS1_CLIENT|SP_PROT_TLS1_SERVER)
30 #define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT|SP_PROT_SSL2_SERVER)
31 #define SP_PROT_SSL3 (SP_PROT_SSL3_CLIENT|SP_PROT_SSL3_SERVER)
33 #define SCH_CRED_NO_SYSTEM_MAPPER 2
34 #define SCH_CRED_NO_SERVERNAME_CHECK 4
35 #define SCH_CRED_MANUAL_CRED_VALIDATION 8
36 #define SCH_CRED_NO_DEFAULT_CREDS 16
37 #define SCH_CRED_AUTO_CRED_VALIDATION 32
38 #define SCH_CRED_REVOCATION_CHECK_CHAIN 512
39 #define SCH_CRED_REVOCATION_CHECK_END_CERT 256
40 #define SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 1024
41 #define SCH_CRED_IGNORE_NO_REVOCATION_CHECK 2048
42 #define SCH_CRED_IGNORE_REVOCATION_OFFLINE 4096
43 #define SCH_CRED_USE_DEFAULT_CREDS 64
45 typedef struct _SCHANNEL_CRED
{
48 PCCERT_CONTEXT
* paCred
;
49 HCERTSTORE hRootStore
;
51 struct _HMAPPER
** aphMappers
;
53 ALG_ID
* palgSupportedAlgs
;
54 DWORD grbitEnabledProtocols
;
55 DWORD dwMinimumCypherStrength
;
56 DWORD dwMaximumCypherStrength
;
57 DWORD dwSessionLifespan
;
60 } SCHANNEL_CRED
, *PSCHANNEL_CRED
;
61 typedef struct _SecPkgCred_SupportedAlgs
{
63 ALG_ID
* palgSupportedAlgs
;
64 } SecPkgCred_SupportedAlgs
, *PSecPkgCred_SupportedAlgs
;
65 typedef struct _SecPkgCred_CypherStrengths
{
66 DWORD dwMinimumCypherStrength
;
67 DWORD dwMaximumCypherStrength
;
68 } SecPkgCred_CypherStrengths
, *PSecPkgCred_CypherStrengths
;
69 typedef struct _SecPkgCred_SupportedProtocols
{
71 } SecPkgCred_SupportedProtocols
, *PSecPkgCred_SupportedProtocols
;
72 typedef struct _SecPkgContext_IssuerListInfoEx
{
73 PCERT_NAME_BLOB aIssuers
;
75 } SecPkgContext_IssuerListInfoEx
, *PSecPkgContext_IssuerListInfoEx
;
76 typedef struct _SecPkgContext_ConnectionInfo
{
79 DWORD dwCipherStrength
;
84 } SecPkgContext_ConnectionInfo
, *PSecPkgContext_ConnectionInfo
;
90 #endif /* _SCHANNEL_H */