File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                               schannel.d                              *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                           by Stewart Gordon                           *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
4e2933c620 2015-04-21        kinaba: module win32.schannel;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: import win32.wincrypt;
4e2933c620 2015-04-21        kinaba: private import win32.windef;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD SCHANNEL_CRED_VERSION = 4;
4e2933c620 2015-04-21        kinaba: const SCHANNEL_SHUTDOWN           = 1;
4e2933c620 2015-04-21        kinaba: /* Comment from MinGW
4e2933c620 2015-04-21        kinaba: 	? Do these belong here or in wincrypt.h
4e2933c620 2015-04-21        kinaba:  */
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	AUTHTYPE_CLIENT = 1,
4e2933c620 2015-04-21        kinaba: 	AUTHTYPE_SERVER = 2
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	SP_PROT_PCT1_SERVER = 0x01,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_PCT1_CLIENT = 0x02,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_SSL2_SERVER = 0x04,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_SSL2_CLIENT = 0x08,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_SSL3_SERVER = 0x10,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_SSL3_CLIENT = 0x20,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_TLS1_SERVER = 0x40,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_TLS1_CLIENT = 0x80,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_PCT1        = SP_PROT_PCT1_CLIENT | SP_PROT_PCT1_SERVER,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_TLS1        = SP_PROT_TLS1_CLIENT | SP_PROT_TLS1_SERVER,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_SSL2        = SP_PROT_SSL2_CLIENT | SP_PROT_SSL2_SERVER,
4e2933c620 2015-04-21        kinaba: 	SP_PROT_SSL3        = SP_PROT_SSL3_CLIENT | SP_PROT_SSL3_SERVER;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_NO_SYSTEM_MAPPER                    = 0x0002,
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_NO_SERVERNAME_CHECK                 = 0x0004,
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_MANUAL_CRED_VALIDATION              = 0x0008,
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_NO_DEFAULT_CREDS                    = 0x0010,
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_AUTO_CRED_VALIDATION                = 0x0020,
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_USE_DEFAULT_CREDS                   = 0x0040,
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_REVOCATION_CHECK_END_CERT           = 0x0100,
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_REVOCATION_CHECK_CHAIN              = 0x0200,
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = 0x0400,
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_IGNORE_NO_REVOCATION_CHECK          = 0x0800,
4e2933c620 2015-04-21        kinaba: 	SCH_CRED_IGNORE_REVOCATION_OFFLINE           = 0x1000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // No definition - presumably an opaque structure
4e2933c620 2015-04-21        kinaba: struct _HMAPPER;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SCHANNEL_CRED {
4e2933c620 2015-04-21        kinaba: 	DWORD           dwVersion = SCHANNEL_CRED_VERSION;
4e2933c620 2015-04-21        kinaba: 	DWORD           cCreds;
4e2933c620 2015-04-21        kinaba: 	PCCERT_CONTEXT* paCred;
4e2933c620 2015-04-21        kinaba: 	HCERTSTORE      hRootStore;
4e2933c620 2015-04-21        kinaba: 	DWORD           cMappers;
4e2933c620 2015-04-21        kinaba: 	_HMAPPER**      aphMappers;
4e2933c620 2015-04-21        kinaba: 	DWORD           cSupportedAlgs;
4e2933c620 2015-04-21        kinaba: 	ALG_ID*         palgSupportedAlgs;
4e2933c620 2015-04-21        kinaba: 	DWORD           grbitEnabledProtocols;
4e2933c620 2015-04-21        kinaba: 	DWORD           dwMinimumCypherStrength;
4e2933c620 2015-04-21        kinaba: 	DWORD           dwMaximumCypherStrength;
4e2933c620 2015-04-21        kinaba: 	DWORD           dwSessionLifespan;
4e2933c620 2015-04-21        kinaba: 	DWORD           dwFlags;
4e2933c620 2015-04-21        kinaba: 	DWORD           reserved;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SCHANNEL_CRED* PSCHANNEL_CRED;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SecPkgCred_SupportedAlgs {
4e2933c620 2015-04-21        kinaba: 	DWORD   cSupportedAlgs;
4e2933c620 2015-04-21        kinaba: 	ALG_ID* palgSupportedAlgs;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SecPkgCred_SupportedAlgs* PSecPkgCred_SupportedAlgs;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SecPkgCred_CypherStrengths {
4e2933c620 2015-04-21        kinaba: 	DWORD dwMinimumCypherStrength;
4e2933c620 2015-04-21        kinaba: 	DWORD dwMaximumCypherStrength;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SecPkgCred_CypherStrengths* PSecPkgCred_CypherStrengths;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SecPkgCred_SupportedProtocols {
4e2933c620 2015-04-21        kinaba: 	DWORD grbitProtocol;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SecPkgCred_SupportedProtocols* PSecPkgCred_SupportedProtocols;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SecPkgContext_IssuerListInfoEx {
4e2933c620 2015-04-21        kinaba: 	PCERT_NAME_BLOB aIssuers;
4e2933c620 2015-04-21        kinaba: 	DWORD           cIssuers;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SecPkgContext_IssuerListInfoEx* PSecPkgContext_IssuerListInfoEx;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SecPkgContext_ConnectionInfo {
4e2933c620 2015-04-21        kinaba: 	DWORD  dwProtocol;
4e2933c620 2015-04-21        kinaba: 	ALG_ID aiCipher;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwCipherStrength;
4e2933c620 2015-04-21        kinaba: 	ALG_ID aiHash;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwHashStrength;
4e2933c620 2015-04-21        kinaba: 	ALG_ID aiExch;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwExchStrength;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SecPkgContext_ConnectionInfo* PSecPkgContext_ConnectionInfo;