1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! Public Definitions for MIN SCHANNEL Security Provider
7 use shared::guiddef::GUID;
8 use shared::minwindef::{BOOL, DWORD};
9 use um::wincrypt::ALG_ID;
10 use um::winnt::LPWSTR;
11 pub const SECPKG_ATTR_ISSUER_LIST: DWORD = 0x50;
12 pub const SECPKG_ATTR_REMOTE_CRED: DWORD = 0x51;
13 pub const SECPKG_ATTR_LOCAL_CRED: DWORD = 0x52;
14 pub const SECPKG_ATTR_REMOTE_CERT_CONTEXT: DWORD = 0x53;
15 pub const SECPKG_ATTR_LOCAL_CERT_CONTEXT: DWORD = 0x54;
16 pub const SECPKG_ATTR_ROOT_STORE: DWORD = 0x55;
17 pub const SECPKG_ATTR_SUPPORTED_ALGS: DWORD = 0x56;
18 pub const SECPKG_ATTR_CIPHER_STRENGTHS: DWORD = 0x57;
19 pub const SECPKG_ATTR_SUPPORTED_PROTOCOLS: DWORD = 0x58;
20 pub const SECPKG_ATTR_ISSUER_LIST_EX: DWORD = 0x59;
21 pub const SECPKG_ATTR_CONNECTION_INFO: DWORD = 0x5a;
22 pub const SECPKG_ATTR_EAP_KEY_BLOCK: DWORD = 0x5b;
23 pub const SECPKG_ATTR_MAPPED_CRED_ATTR: DWORD = 0x5c;
24 pub const SECPKG_ATTR_SESSION_INFO: DWORD = 0x5d;
25 pub const SECPKG_ATTR_APP_DATA: DWORD = 0x5e;
26 pub const SECPKG_ATTR_REMOTE_CERTIFICATES: DWORD = 0x5F;
27 pub const SECPKG_ATTR_CLIENT_CERT_POLICY: DWORD = 0x60;
28 pub const SECPKG_ATTR_CC_POLICY_RESULT: DWORD = 0x61;
29 pub const SECPKG_ATTR_USE_NCRYPT: DWORD = 0x62;
30 pub const SECPKG_ATTR_LOCAL_CERT_INFO: DWORD = 0x63;
31 pub const SECPKG_ATTR_CIPHER_INFO: DWORD = 0x64;
32 pub const SECPKG_ATTR_EAP_PRF_INFO: DWORD = 0x65;
33 pub const SECPKG_ATTR_SUPPORTED_SIGNATURES: DWORD = 0x66;
34 pub const SECPKG_ATTR_REMOTE_CERT_CHAIN: DWORD = 0x67;
35 pub const SECPKG_ATTR_UI_INFO: DWORD = 0x68;
36 pub const SECPKG_ATTR_EARLY_START: DWORD = 0x69;
37 STRUCT!{struct SecPkgCred_SupportedAlgs {
38     cSupportedAlgs: DWORD,
39     palgSupportedAlgs: *mut ALG_ID,
40 }}
41 STRUCT!{struct SecPkgCred_CipherStrengths {
42     dwMinimumCipherStrength: DWORD,
43     dwMaximumCipherStrength: DWORD,
44 }}
45 STRUCT!{struct SecPkgCred_SupportedProtocols {
46     grbitProtocol: DWORD,
47 }}
48 STRUCT!{struct SecPkgCred_ClientCertPolicy {
49     dwFlags: DWORD,
50     guidPolicyId: GUID,
51     dwCertFlags: DWORD,
52     dwUrlRetrievalTimeout: DWORD,
53     fCheckRevocationFreshnessTime: BOOL,
54     dwRevocationFreshnessTime: DWORD,
55     fOmitUsageCheck: BOOL,
56     pwszSslCtlStoreName: LPWSTR,
57     pwszSslCtlIdentifier: LPWSTR,
58 }}
59