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