ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

schannel.h
Go to the documentation of this file.
00001 #ifndef _SCHANNEL_H
00002 #define _SCHANNEL_H
00003 
00004 #include <wincrypt.h>
00005 
00006 #ifdef __cplusplus
00007 extern "C" {
00008 #endif
00009 
00010 #define SCHANNEL_NAME_A "Schannel"
00011 #define SCHANNEL_NAME_W L"Schannel"
00012 #ifdef UNICODE
00013 #define SCHANNEL_NAME SCHANNEL_NAME_W
00014 #else
00015 #define SCHANNEL_NAME SCHANNEL_NAME_A
00016 #endif
00017 
00018 #define SCH_CRED_V1           1
00019 #define SCH_CRED_V2           2
00020 #define SCH_CRED_VERSION      2
00021 #define SCH_CRED_V3           3
00022 #define SCHANNEL_CRED_VERSION 4
00023 
00024 #define SCHANNEL_RENEGOTIATE 0
00025 #define SCHANNEL_SHUTDOWN    1
00026 #define SCHANNEL_ALERT       2
00027 #define SCHANNEL_SESSION     3
00028 
00029 #define SP_PROT_TLS1_CLIENT 128
00030 #define SP_PROT_TLS1_SERVER 64
00031 #define SP_PROT_SSL3_CLIENT 32
00032 #define SP_PROT_SSL3_SERVER 16
00033 #define SP_PROT_SSL2_CLIENT 8
00034 #define SP_PROT_SSL2_SERVER 4
00035 #define SP_PROT_PCT1_CLIENT 2
00036 #define SP_PROT_PCT1_SERVER 1
00037 
00038 #define SP_PROT_TLS1 (SP_PROT_TLS1_CLIENT | SP_PROT_TLS1_SERVER)
00039 #define SP_PROT_SSL3 (SP_PROT_SSL3_CLIENT | SP_PROT_SSL3_SERVER)
00040 #define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT | SP_PROT_SSL2_SERVER)
00041 #define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT | SP_PROT_PCT1_SERVER)
00042 
00043 #define SCH_CRED_NO_SYSTEM_MAPPER                    2
00044 #define SCH_CRED_NO_SERVERNAME_CHECK                 4
00045 #define SCH_CRED_MANUAL_CRED_VALIDATION              8
00046 #define SCH_CRED_NO_DEFAULT_CREDS                    16
00047 #define SCH_CRED_AUTO_CRED_VALIDATION                32
00048 #define SCH_CRED_USE_DEFAULT_CREDS                   64
00049 #define SCH_CRED_REVOCATION_CHECK_CHAIN_END_CERT     256
00050 #define SCH_CRED_REVOCATION_CHECK_CHAIN              512
00051 #define SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 1024
00052 #define SCH_CRED_IGNORE_NO_REVOCATION_CHECK          2048
00053 #define SCH_CRED_IGNORE_REVOCATION_OFFLINE           4096
00054 
00055 #define SECPKG_ATTR_ISSUER_LIST         0x50
00056 #define SECPKG_ATTR_REMOTE_CRED         0x51
00057 #define SECPKG_ATTR_LOCAL_CRED          0x52
00058 #define SECPKG_ATTR_REMOTE_CERT_CONTEXT 0x53
00059 #define SECPKG_ATTR_LOCAL_CERT_CONTEXT  0x54
00060 #define SECPKG_ATTR_ROOT_STORE          0x55
00061 #define SECPKG_ATTR_SUPPORTED_ALGS      0x56
00062 #define SECPKG_ATTR_CIPHER_STRENGTHS    0x57
00063 #define SECPKG_ATTR_SUPPORTED_PROTOCOLS 0x58
00064 #define SECPKG_ATTR_ISSUER_LIST_EX      0x59
00065 #define SECPKG_ATTR_CONNECTION_INFO     0x5a
00066 #define SECPKG_ATTR_EAP_KEY_BLOCK       0x5b
00067 #define SECPKG_ATTR_MAPPED_CRED_ATTR    0x5c
00068 #define SECPKG_ATTR_SESSION_INFO        0x5d
00069 #define SECPKG_ATTR_APP_DATA            0x5e
00070 
00071 #define UNISP_RPC_ID 14
00072 
00073 struct _HMAPPER;
00074 
00075 typedef struct _SCHANNEL_CRED
00076 {
00077     DWORD dwVersion;
00078     DWORD cCreds;
00079     PCCERT_CONTEXT *paCred;
00080     HCERTSTORE hRootStore;
00081     DWORD cMappers;
00082     struct _HMAPPER **aphMappers;
00083     DWORD cSupportedAlgs;
00084     ALG_ID *palgSupportedAlgs;
00085     DWORD grbitEnabledProtocols;
00086     DWORD dwMinimumCipherStrength;
00087     DWORD dwMaximumCipherStrength;
00088     DWORD dwSessionLength;
00089     DWORD dwFlags;
00090     DWORD reserved;
00091 } SCHANNEL_CRED, *PSCHANNEL_CRED;
00092 
00093 typedef struct _SecPkgCred_SupportedAlgs
00094 {
00095     DWORD cSupportedAlgs;
00096     ALG_ID *palgSupportedAlgs;
00097 } SecPkgCred_SupportedAlgs, *PSecPkgCred_SupportedAlgs;
00098 
00099 typedef struct _SecPkgCred_CipherStrengths
00100 {
00101     DWORD dwMinimumCipherStrength;
00102     DWORD dwMaximumCipherStrength;
00103 } SecPkgCred_CipherStrengths, *PSecPkgCred_CipherStrengths;
00104 
00105 typedef struct _SecPkgCred_SupportedProtocols
00106 {
00107     DWORD grbitProtocol;
00108 } SecPkgCred_SupportedProtocols, *PSecPkgCred_SupportedProtocols;
00109 
00110 typedef struct _SecPkgContext_IssuerListInfoEx
00111 {
00112     PCERT_NAME_BLOB aIssuers;
00113     DWORD cIssuers;
00114 } SecPkgContext_IssuerListInfoEx, *PSecPkgContext_IssuerListInfoEx;
00115 
00116 typedef struct _SecPkgContext_ConnectionInfo
00117 {
00118     DWORD dwProtocol;
00119     ALG_ID aiCipher;
00120     DWORD dwCipherStrength;
00121     ALG_ID aiHash;
00122     DWORD dwHashStrength;
00123     ALG_ID aiExch;
00124     DWORD dwExchStrength;
00125 } SecPkgContext_ConnectionInfo, *PSecPkgContext_ConnectionInfo;
00126 
00127 #ifdef __cplusplus
00128 }
00129 #endif
00130 
00131 #endif /* _SCHANNEL_H */

Generated on Sat May 26 2012 04:31:03 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.