annotate win32/wincrypt.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
1 /***********************************************************************\
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
2 * wincrypt.d *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
3 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
4 * Windows API header module *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
5 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
6 * Translated from MinGW Windows headers *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
7 * by Stewart Gordon *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
8 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
9 * Placed into public domain *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
10 \***********************************************************************/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
11 module win32.wincrypt;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
12
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
13 private import win32.w32api, win32.winbase, win32.windef;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
14
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
15 /* FIXME:
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
16 * Types of some constants
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
17 * Types of macros
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
18 * Inits of various "size" and "version" members
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
19 * Why are some #ifdefs commented out?
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
20 */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
21
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
22 const TCHAR[]
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
23 MS_DEF_PROV = "Microsoft Base Cryptographic Provider v1.0",
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
24 MS_ENHANCED_PROV = "Microsoft Enhanced Cryptographic Provider v1.0",
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
25 MS_STRONG_PROV = "Microsoft Strong Cryptographic Provider",
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
26 MS_DEF_RSA_SIG_PROV = "Microsoft RSA Signature Cryptographic Provider",
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
27 MS_DEF_RSA_SCHANNEL_PROV = "Microsoft RSA SChannel Cryptographic Provider",
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
28 MS_DEF_DSS_PROV = "Microsoft Base DSS Cryptographic Provider",
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
29 MS_DEF_DSS_DH_PROV
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
30 = "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider",
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
31 MS_ENH_DSS_DH_PROV
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
32 = "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider",
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
33 MS_DEF_DH_SCHANNEL_PROV = "Microsoft DH SChannel Cryptographic Provider",
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
34 MS_SCARD_PROV = "Microsoft Base Smart Card Crypto Provider";
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
35
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
36 static if (WINVER > 0x501) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
37 const TCHAR[] MS_ENH_RSA_AES_PROV
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
38 = "Microsoft Enhanced RSA and AES Cryptographic Provider";
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
39 } else static if (WINVER == 0x501) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
40 const TCHAR[] MS_ENH_RSA_AES_PROV
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
41 = "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)";
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
42 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
43
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
44 ALG_ID GET_ALG_CLASS(ALG_ID x) { return x & 0xE000; }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
45 ALG_ID GET_ALG_TYPE (ALG_ID x) { return x & 0x1E00; }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
46 ALG_ID GET_ALG_SID (ALG_ID x) { return x & 0x01FF; }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
47
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
48 enum : ALG_ID {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
49 ALG_CLASS_ANY = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
50 ALG_CLASS_SIGNATURE = 0x2000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
51 ALG_CLASS_MSG_ENCRYPT = 0x4000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
52 ALG_CLASS_DATA_ENCRYPT = 0x6000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
53 ALG_CLASS_HASH = 0x8000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
54 ALG_CLASS_KEY_EXCHANGE = 0xA000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
55 ALG_CLASS_ALL = 0xE000
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
56 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
57
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
58 enum : ALG_ID {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
59 ALG_TYPE_ANY = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
60 ALG_TYPE_DSS = 0x0200,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
61 ALG_TYPE_RSA = 0x0400,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
62 ALG_TYPE_BLOCK = 0x0600,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
63 ALG_TYPE_STREAM = 0x0800,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
64 ALG_TYPE_DH = 0x0A00,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
65 ALG_TYPE_SECURECHANNEL = 0x0C00
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
66 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
67
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
68 enum : ALG_ID {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
69 ALG_SID_ANY = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
70 ALG_SID_RSA_ANY = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
71 ALG_SID_RSA_PKCS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
72 ALG_SID_RSA_MSATWORK,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
73 ALG_SID_RSA_ENTRUST,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
74 ALG_SID_RSA_PGP, // = 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
75 ALG_SID_DSS_ANY = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
76 ALG_SID_DSS_PKCS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
77 ALG_SID_DSS_DMS, // = 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
78 ALG_SID_DES = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
79 ALG_SID_3DES = 3,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
80 ALG_SID_DESX,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
81 ALG_SID_IDEA,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
82 ALG_SID_CAST,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
83 ALG_SID_SAFERSK64,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
84 ALG_SID_SAFERSK128,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
85 ALG_SID_3DES_112,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
86 ALG_SID_SKIPJACK,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
87 ALG_SID_TEK,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
88 ALG_SID_CYLINK_MEK,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
89 ALG_SID_RC5, // = 13
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
90 ALG_SID_RC2 = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
91 ALG_SID_RC4 = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
92 ALG_SID_SEAL = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
93 ALG_SID_MD2 = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
94 ALG_SID_MD4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
95 ALG_SID_MD5,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
96 ALG_SID_SHA,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
97 ALG_SID_MAC,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
98 ALG_SID_RIPEMD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
99 ALG_SID_RIPEMD160,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
100 ALG_SID_SSL3SHAMD5,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
101 ALG_SID_HMAC,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
102 ALG_SID_TLS1PRF, // = 10
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
103 ALG_SID_AES_128 = 14,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
104 ALG_SID_AES_192,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
105 ALG_SID_AES_256,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
106 ALG_SID_AES, // = 17
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
107 ALG_SID_EXAMPLE = 80
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
108 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
109
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
110 enum : ALG_ID {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
111 CALG_MD2 = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
112 CALG_MD4 = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
113 CALG_MD5 = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD5,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
114 CALG_SHA = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
115 CALG_SHA1 = CALG_SHA,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
116 CALG_MAC = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MAC,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
117 CALG_3DES = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | 3,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
118 CALG_CYLINK_MEK = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | 12,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
119 CALG_SKIPJACK = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | 10,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
120 CALG_KEA_KEYX = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_STREAM | ALG_TYPE_DSS | 4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
121 CALG_RSA_SIGN = ALG_CLASS_SIGNATURE | ALG_TYPE_RSA | ALG_SID_RSA_ANY,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
122 CALG_DSS_SIGN = ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_DSS_ANY,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
123 CALG_RSA_KEYX = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_RSA | ALG_SID_RSA_ANY,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
124 CALG_DES = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_DES,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
125 CALG_RC2 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_RC2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
126 CALG_RC4 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_RC4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
127 CALG_SEAL = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_SEAL,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
128 CALG_DH_EPHEM = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_STREAM | ALG_TYPE_DSS
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
129 | ALG_SID_DSS_DMS,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
130 CALG_DESX = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_DESX,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
131 // is undefined ALG_CLASS_DHASH in MinGW - presuming typo
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
132 CALG_TLS1PRF = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_TLS1PRF,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
133 CALG_AES_128 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_128,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
134 CALG_AES_192 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_192,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
135 CALG_AES_256 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_256,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
136 CALG_AES = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
137 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
138
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
139 /+
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
140 #define CRYPT_VERIFYCONTEXT 0xF0000000
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
141 #define CRYPT_NEWKEYSET 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
142 #define CRYPT_DELETEKEYSET 16
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
143 #define CRYPT_MACHINE_KEYSET 32
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
144 #define CRYPT_SILENT 64
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
145 #define CRYPT_EXPORTABLE 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
146 #define CRYPT_USER_PROTECTED 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
147 #define CRYPT_CREATE_SALT 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
148 #define CRYPT_UPDATE_KEY 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
149 #define SIMPLEBLOB 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
150 #define PUBLICKEYBLOB 6
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
151 #define PRIVATEKEYBLOB 7
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
152 #define PLAINTEXTKEYBLOB 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
153 #define OPAQUEKEYBLOB 9
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
154 #define PUBLICKEYBLOBEX 10
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
155 #define SYMMETRICWRAPKEYBLOB 11
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
156 #define AT_KEYEXCHANGE 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
157 #define AT_SIGNATURE 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
158 #define CRYPT_USERDATA 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
159 #define PKCS5_PADDING 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
160 #define CRYPT_MODE_CBC 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
161 #define CRYPT_MODE_ECB 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
162 #define CRYPT_MODE_OFB 3
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
163 #define CRYPT_MODE_CFB 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
164 #define CRYPT_MODE_CTS 5
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
165 #define CRYPT_MODE_CBCI 6
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
166 #define CRYPT_MODE_CFBP 7
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
167 #define CRYPT_MODE_OFBP 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
168 #define CRYPT_MODE_CBCOFM 9
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
169 #define CRYPT_MODE_CBCOFMI 10
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
170 #define CRYPT_ENCRYPT 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
171 #define CRYPT_DECRYPT 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
172 #define CRYPT_EXPORT 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
173 #define CRYPT_READ 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
174 #define CRYPT_WRITE 16
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
175 #define CRYPT_MAC 32
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
176 #define HP_ALGID 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
177 #define HP_HASHVAL 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
178 #define HP_HASHSIZE 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
179 #define HP_HMAC_INFO 5
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
180 #define CRYPT_FAILED FALSE
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
181 #define CRYPT_SUCCEED TRUE
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
182 #define RCRYPT_SUCCEEDED(r) ((r)==CRYPT_SUCCEED)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
183 #define RCRYPT_FAILED(r) ((r)==CRYPT_FAILED)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
184 #define PP_ENUMALGS 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
185 #define PP_ENUMCONTAINERS 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
186 #define PP_IMPTYPE 3
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
187 #define PP_NAME 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
188 #define PP_VERSION 5
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
189 #define PP_CONTAINER 6
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
190 #define PP_CHANGE_PASSWORD 7
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
191 #define PP_KEYSET_SEC_DESCR 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
192 #define PP_CERTCHAIN 9
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
193 #define PP_KEY_TYPE_SUBTYPE 10
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
194 #define PP_PROVTYPE 16
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
195 #define PP_KEYSTORAGE 17
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
196 #define PP_APPLI_CERT 18
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
197 #define PP_SYM_KEYSIZE 19
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
198 #define PP_SESSION_KEYSIZE 20
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
199 #define PP_UI_PROMPT 21
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
200 #define PP_ENUMALGS_EX 22
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
201 #define PP_ENUMMANDROOTS 25
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
202 #define PP_ENUMELECTROOTS 26
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
203 #define PP_KEYSET_TYPE 27
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
204 #define PP_ADMIN_PIN 31
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
205 #define PP_KEYEXCHANGE_PIN 32
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
206 #define PP_SIGNATURE_PIN 33
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
207 #define PP_SIG_KEYSIZE_INC 34
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
208 #define PP_KEYX_KEYSIZE_INC 35
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
209 #define PP_UNIQUE_CONTAINER 36
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
210 #define PP_SGC_INFO 37
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
211 #define PP_USE_HARDWARE_RNG 38
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
212 #define PP_KEYSPEC 39
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
213 #define PP_ENUMEX_SIGNING_PROT 40
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
214 #define CRYPT_FIRST 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
215 #define CRYPT_NEXT 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
216 #define CRYPT_IMPL_HARDWARE 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
217 #define CRYPT_IMPL_SOFTWARE 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
218 #define CRYPT_IMPL_MIXED 3
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
219 #define CRYPT_IMPL_UNKNOWN 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
220 #define PROV_RSA_FULL 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
221 #define PROV_RSA_SIG 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
222 #define PROV_DSS 3
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
223 #define PROV_FORTEZZA 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
224 #define PROV_MS_MAIL 5
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
225 #define PROV_SSL 6
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
226 #define PROV_STT_MER 7
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
227 #define PROV_STT_ACQ 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
228 #define PROV_STT_BRND 9
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
229 #define PROV_STT_ROOT 10
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
230 #define PROV_STT_ISS 11
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
231 #define PROV_RSA_SCHANNEL 12
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
232 #define PROV_DSS_DH 13
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
233 #define PROV_EC_ECDSA_SIG 14
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
234 #define PROV_EC_ECNRA_SIG 15
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
235 #define PROV_EC_ECDSA_FULL 16
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
236 #define PROV_EC_ECNRA_FULL 17
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
237 #define PROV_DH_SCHANNEL 18
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
238 #define PROV_SPYRUS_LYNKS 20
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
239 #define PROV_RNG 21
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
240 #define PROV_INTEL_SEC 22
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
241 #define PROV_RSA_AES 24
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
242 #define MAXUIDLEN 64
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
243 #define CUR_BLOB_VERSION 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
244 #define X509_ASN_ENCODING 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
245 #define PKCS_7_ASN_ENCODING 65536
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
246 #define CERT_V1 0
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
247 #define CERT_V2 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
248 #define CERT_V3 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
249 #define CERT_E_CHAINING (-2146762486)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
250 #define CERT_E_CN_NO_MATCH (-2146762481)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
251 #define CERT_E_EXPIRED (-2146762495)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
252 #define CERT_E_PURPOSE (-2146762490)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
253 #define CERT_E_REVOCATION_FAILURE (-2146762482)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
254 #define CERT_E_REVOKED (-2146762484)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
255 #define CERT_E_ROLE (-2146762493)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
256 #define CERT_E_UNTRUSTEDROOT (-2146762487)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
257 #define CERT_E_UNTRUSTEDTESTROOT (-2146762483)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
258 #define CERT_E_VALIDITYPERIODNESTING (-2146762494)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
259 #define CERT_E_WRONG_USAGE (-2146762480)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
260 #define CERT_E_PATHLENCONST (-2146762492)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
261 #define CERT_E_CRITICAL (-2146762491)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
262 #define CERT_E_ISSUERCHAINING (-2146762489)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
263 #define CERT_E_MALFORMED (-2146762488)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
264 #define CRYPT_E_REVOCATION_OFFLINE (-2146885613)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
265 #define CRYPT_E_REVOKED (-2146885616)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
266 #define TRUST_E_BASIC_CONSTRAINTS (-2146869223)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
267 #define TRUST_E_CERT_SIGNATURE (-2146869244)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
268 #define TRUST_E_FAIL (-2146762485)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
269 #define CERT_TRUST_NO_ERROR 0
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
270 #define CERT_TRUST_IS_NOT_TIME_VALID 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
271 #define CERT_TRUST_IS_NOT_TIME_NESTED 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
272 #define CERT_TRUST_IS_REVOKED 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
273 #define CERT_TRUST_IS_NOT_SIGNATURE_VALID 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
274 #define CERT_TRUST_IS_NOT_VALID_FOR_USAGE 16
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
275 #define CERT_TRUST_IS_UNTRUSTED_ROOT 32
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
276 #define CERT_TRUST_REVOCATION_STATUS_UNKNOWN 64
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
277 #define CERT_TRUST_IS_CYCLIC 128
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
278 #define CERT_TRUST_IS_PARTIAL_CHAIN 65536
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
279 #define CERT_TRUST_CTL_IS_NOT_TIME_VALID 131072
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
280 #define CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID 262144
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
281 #define CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE 524288
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
282 #define CERT_TRUST_HAS_EXACT_MATCH_ISSUER 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
283 #define CERT_TRUST_HAS_KEY_MATCH_ISSUER 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
284 #define CERT_TRUST_HAS_NAME_MATCH_ISSUER 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
285 #define CERT_TRUST_IS_SELF_SIGNED 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
286 #define CERT_TRUST_IS_COMPLEX_CHAIN 65536
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
287 #define CERT_CHAIN_POLICY_BASE ((LPCSTR) 1)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
288 #define CERT_CHAIN_POLICY_AUTHENTICODE ((LPCSTR) 2)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
289 #define CERT_CHAIN_POLICY_AUTHENTICODE_TS ((LPCSTR) 3)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
290 #define CERT_CHAIN_POLICY_SSL ((LPCSTR) 4)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
291 #define CERT_CHAIN_POLICY_BASIC_CONSTRAINTS ((LPCSTR) 5)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
292 #define CERT_CHAIN_POLICY_NT_AUTH ((LPCSTR) 6)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
293 #define USAGE_MATCH_TYPE_AND 0
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
294 #define USAGE_MATCH_TYPE_OR 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
295 #define CERT_SIMPLE_NAME_STR 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
296 #define CERT_OID_NAME_STR 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
297 #define CERT_X500_NAME_STR 3
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
298 #define CERT_NAME_STR_SEMICOLON_FLAG 1073741824
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
299 #define CERT_NAME_STR_CRLF_FLAG 134217728
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
300 #define CERT_NAME_STR_NO_PLUS_FLAG 536870912
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
301 #define CERT_NAME_STR_NO_QUOTING_FLAG 268435456
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
302 #define CERT_NAME_STR_REVERSE_FLAG 33554432
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
303 #define CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG 131072
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
304 #define CERT_FIND_ANY 0
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
305 #define CERT_FIND_CERT_ID 1048576
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
306 #define CERT_FIND_CTL_USAGE 655360
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
307 #define CERT_FIND_ENHKEY_USAGE 655360
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
308 #define CERT_FIND_EXISTING 851968
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
309 #define CERT_FIND_HASH 65536
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
310 #define CERT_FIND_ISSUER_ATTR 196612
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
311 #define CERT_FIND_ISSUER_NAME 131076
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
312 #define CERT_FIND_ISSUER_OF 786432
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
313 #define CERT_FIND_KEY_IDENTIFIER 983040
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
314 #define CERT_FIND_KEY_SPEC 589824
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
315 #define CERT_FIND_MD5_HASH 262144
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
316 #define CERT_FIND_PROPERTY 327680
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
317 #define CERT_FIND_PUBLIC_KEY 393216
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
318 #define CERT_FIND_SHA1_HASH 65536
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
319 #define CERT_FIND_SIGNATURE_HASH 917504
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
320 #define CERT_FIND_SUBJECT_ATTR 196615
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
321 #define CERT_FIND_SUBJECT_CERT 720896
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
322 #define CERT_FIND_SUBJECT_NAME 131079
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
323 #define CERT_FIND_SUBJECT_STR_A 458759
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
324 #define CERT_FIND_SUBJECT_STR_W 524295
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
325 #define CERT_FIND_ISSUER_STR_A 458756
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
326 #define CERT_FIND_ISSUER_STR_W 524292
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
327 #define CERT_FIND_OR_ENHKEY_USAGE_FLAG 16
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
328 #define CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
329 #define CERT_FIND_NO_ENHKEY_USAGE_FLAG 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
330 #define CERT_FIND_VALID_ENHKEY_USAGE_FLAG 32
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
331 #define CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
332 #define CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
333 #define CERT_UNICODE_IS_RDN_ATTRS_FLAG 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
334 #define CERT_CHAIN_FIND_BY_ISSUER 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
335 #define CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG 1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
336 #define CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG 2
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
337 #define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG 32768
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
338 #define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG 4
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
339 #define CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG 8
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
340 #define CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG 16384
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
341 #define CERT_STORE_PROV_SYSTEM 10
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
342 #define CERT_SYSTEM_STORE_LOCAL_MACHINE 131072
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
343 #define szOID_PKIX_KP_SERVER_AUTH "4235600"
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
344 #define szOID_SERVER_GATED_CRYPTO "4235658"
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
345 #define szOID_SGC_NETSCAPE "2.16.840.1.113730.4.1"
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
346 #define szOID_PKIX_KP_CLIENT_AUTH "1.3.6.1.5.5.7.3.2"
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
347 #define CRYPT_NOHASHOID 0x00000001
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
348 #define CRYPT_NO_SALT 0x10
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
349 #define CRYPT_PREGEN 0x40
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
350 #define CRYPT_RECIPIENT 0x10
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
351 #define CRYPT_INITIATOR 0x40
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
352 #define CRYPT_ONLINE 0x80
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
353 #define CRYPT_SF 0x100
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
354 #define CRYPT_CREATE_IV 0x200
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
355 #define CRYPT_KEK 0x400
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
356 #define CRYPT_DATA_KEY 0x800
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
357 #define CRYPT_VOLATILE 0x1000
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
358 #define CRYPT_SGCKEY 0x2000
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
359 #define KP_IV 0x00000001
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
360 #define KP_SALT 0x00000002
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
361 #define KP_PADDING 0x00000003
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
362 #define KP_MODE 0x00000004
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
363 #define KP_MODE_BITS 0x00000005
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
364 #define KP_PERMISSIONS 0x00000006
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
365 #define KP_ALGID 0x00000007
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
366 #define KP_BLOCKLEN 0x00000008
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
367 #define KP_KEYLEN 0x00000009
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
368 #define KP_SALT_EX 0x0000000a
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
369 #define KP_P 0x0000000b
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
370 #define KP_G 0x0000000c
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
371 #define KP_Q 0x0000000d
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
372 #define KP_X 0x0000000e
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
373 #define KP_Y 0x0000000f
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
374 #define KP_RA 0x00000010
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
375 #define KP_RB 0x00000011
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
376 #define KP_INFO 0x00000012
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
377 #define KP_EFFECTIVE_KEYLEN 0x00000013
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
378 #define KP_SCHANNEL_ALG 0x00000014
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
379 #define KP_PUB_PARAMS 0x00000027
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
380 #define CRYPT_FLAG_PCT1 0x0001
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
381 #define CRYPT_FLAG_SSL2 0x0002
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
382 #define CRYPT_FLAG_SSL3 0x0004
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
383 #define CRYPT_FLAG_TLS1 0x0008
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
384 #define CRYPT_FLAG_IPSEC 0x0010
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
385 #define CRYPT_FLAG_SIGNING 0x0020
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
386 #define SCHANNEL_MAC_KEY 0x00000000
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
387 #define SCHANNEL_ENC_KEY 0x00000001
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
388 #define INTERNATIONAL_USAGE 0x00000001
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
389 +/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
390
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
391 alias UINT ALG_ID;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
392 alias ULONG HCRYPTPROV, HCRYPTKEY, HCRYPTHASH;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
393 alias PVOID HCERTSTORE, HCRYPTMSG, HCERTCHAINENGINE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
394
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
395 struct VTableProvStruc {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
396 FARPROC FuncVerifyImage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
397 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
398 alias VTableProvStruc* PVTableProvStruc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
399
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
400 struct _CRYPTOAPI_BLOB {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
401 DWORD cbData;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
402 BYTE* pbData;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
403 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
404 alias _CRYPTOAPI_BLOB CRYPT_INTEGER_BLOB, CRYPT_UINT_BLOB,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
405 CRYPT_OBJID_BLOB, CERT_NAME_BLOB, CERT_RDN_VALUE_BLOB, CERT_BLOB,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
406 CRL_BLOB, DATA_BLOB, CRYPT_DATA_BLOB, CRYPT_HASH_BLOB,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
407 CRYPT_DIGEST_BLOB, CRYPT_DER_BLOB, CRYPT_ATTR_BLOB;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
408 alias _CRYPTOAPI_BLOB* PCRYPT_INTEGER_BLOB, PCRYPT_UINT_BLOB,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
409 PCRYPT_OBJID_BLOB, PCERT_NAME_BLOB, PCERT_RDN_VALUE_BLOB, PCERT_BLOB,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
410 PCRL_BLOB, PDATA_BLOB, PCRYPT_DATA_BLOB, PCRYPT_HASH_BLOB,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
411 PCRYPT_DIGEST_BLOB, PCRYPT_DER_BLOB, PCRYPT_ATTR_BLOB;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
412
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
413 // not described in SDK; has the same layout as HTTPSPolicyCallbackData
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
414 struct SSL_EXTRA_CERT_CHAIN_POLICY_PARA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
415 DWORD cbStruct;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
416 DWORD dwAuthType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
417 DWORD fdwChecks;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
418 LPWSTR pwszServerName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
419 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
420 alias SSL_EXTRA_CERT_CHAIN_POLICY_PARA HTTPSPolicyCallbackData;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
421 alias SSL_EXTRA_CERT_CHAIN_POLICY_PARA* PSSL_EXTRA_CERT_CHAIN_POLICY_PARA,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
422 PHTTPSPolicyCallbackData;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
423
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
424 /* #if (_WIN32_WINNT>=0x500) */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
425 struct CERT_CHAIN_POLICY_PARA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
426 DWORD cbSize = CERT_CHAIN_POLICY_PARA.sizeof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
427 DWORD dwFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
428 void* pvExtraPolicyPara;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
429 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
430 alias CERT_CHAIN_POLICY_PARA* PCERT_CHAIN_POLICY_PARA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
431
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
432 struct CERT_CHAIN_POLICY_STATUS {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
433 DWORD cbSize = CERT_CHAIN_POLICY_STATUS.sizeof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
434 DWORD dwError;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
435 LONG lChainIndex;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
436 LONG lElementIndex;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
437 void* pvExtraPolicyStatus;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
438 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
439 alias CERT_CHAIN_POLICY_STATUS* PCERT_CHAIN_POLICY_STATUS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
440 /* #endif */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
441
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
442 struct CRYPT_ALGORITHM_IDENTIFIER {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
443 LPSTR pszObjId;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
444 CRYPT_OBJID_BLOB Parameters;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
445 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
446 alias CRYPT_ALGORITHM_IDENTIFIER* PCRYPT_ALGORITHM_IDENTIFIER;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
447
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
448 struct CRYPT_BIT_BLOB {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
449 DWORD cbData;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
450 BYTE* pbData;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
451 DWORD cUnusedBits;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
452 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
453 alias CRYPT_BIT_BLOB* PCRYPT_BIT_BLOB;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
454
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
455 struct CERT_PUBLIC_KEY_INFO {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
456 CRYPT_ALGORITHM_IDENTIFIER Algorithm;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
457 CRYPT_BIT_BLOB PublicKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
458 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
459 alias CERT_PUBLIC_KEY_INFO* PCERT_PUBLIC_KEY_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
460
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
461 struct CERT_EXTENSION {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
462 LPSTR pszObjId;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
463 BOOL fCritical;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
464 CRYPT_OBJID_BLOB Value;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
465 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
466 alias CERT_EXTENSION* PCERT_EXTENSION;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
467
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
468 struct CERT_INFO {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
469 DWORD dwVersion;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
470 CRYPT_INTEGER_BLOB SerialNumber;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
471 CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
472 CERT_NAME_BLOB Issuer;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
473 FILETIME NotBefore;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
474 FILETIME NotAfter;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
475 CERT_NAME_BLOB Subject;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
476 CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
477 CRYPT_BIT_BLOB IssuerUniqueId;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
478 CRYPT_BIT_BLOB SubjectUniqueId;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
479 DWORD cExtension;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
480 PCERT_EXTENSION rgExtension;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
481 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
482 alias CERT_INFO* PCERT_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
483
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
484 struct CERT_CONTEXT {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
485 DWORD dwCertEncodingType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
486 BYTE* pbCertEncoded;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
487 DWORD cbCertEncoded;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
488 PCERT_INFO pCertInfo;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
489 HCERTSTORE hCertStore;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
490 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
491 alias CERT_CONTEXT* PCERT_CONTEXT, PCCERT_CONTEXT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
492
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
493 struct CTL_USAGE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
494 DWORD cUsageIdentifier;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
495 LPSTR* rgpszUsageIdentifier;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
496 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
497 alias CTL_USAGE CERT_ENHKEY_USAGE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
498 alias CTL_USAGE* PCTRL_USAGE, PCERT_ENHKEY_USAGE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
499
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
500 struct CERT_USAGE_MATCH {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
501 DWORD dwType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
502 CERT_ENHKEY_USAGE Usage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
503 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
504 alias CERT_USAGE_MATCH* PCERT_USAGE_MATCH;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
505 /* #if (_WIN32_WINNT>=0x500) */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
506
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
507 struct CERT_CHAIN_PARA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
508 DWORD cbSize = CERT_CHAIN_PARA.sizeof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
509 CERT_USAGE_MATCH RequestedUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
510 //#if CERT_CHAIN_PARA_HAS_EXTRA_FIELDS
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
511 CERT_USAGE_MATCH RequestedIssuancePolicy;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
512 DWORD dwUrlRetrievalTimeout;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
513 BOOL fCheckRevocationFreshnessTime;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
514 DWORD dwRevocationFreshnessTime;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
515 //#endif
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
516 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
517 alias CERT_CHAIN_PARA* PCERT_CHAIN_PARA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
518
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
519 extern (Windows) alias BOOL function(PCCERT_CONTEXT, void*)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
520 PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
521
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
522 struct CERT_CHAIN_FIND_BY_ISSUER_PARA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
523 DWORD cbSize = CERT_CHAIN_FIND_BY_ISSUER_PARA.sizeof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
524 LPCSTR pszUsageIdentifier;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
525 DWORD dwKeySpec;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
526 DWORD dwAcquirePrivateKeyFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
527 DWORD cIssuer;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
528 CERT_NAME_BLOB* rgIssuer;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
529 PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK pfnFIndCallback;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
530 void* pvFindArg;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
531 DWORD* pdwIssuerChainIndex;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
532 DWORD* pdwIssuerElementIndex;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
533 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
534 alias CERT_CHAIN_FIND_BY_ISSUER_PARA* PCERT_CHAIN_FIND_BY_ISSUER_PARA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
535 /* #endif */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
536
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
537 struct CERT_TRUST_STATUS {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
538 DWORD dwErrorStatus;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
539 DWORD dwInfoStatus;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
540 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
541 alias CERT_TRUST_STATUS* PCERT_TRUST_STATUS;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
542
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
543 struct CRL_ENTRY {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
544 CRYPT_INTEGER_BLOB SerialNumber;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
545 FILETIME RevocationDate;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
546 DWORD cExtension;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
547 PCERT_EXTENSION rgExtension;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
548 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
549 alias CRL_ENTRY* PCRL_ENTRY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
550
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
551 struct CRL_INFO {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
552 DWORD dwVersion;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
553 CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
554 CERT_NAME_BLOB Issuer;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
555 FILETIME ThisUpdate;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
556 FILETIME NextUpdate;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
557 DWORD cCRLEntry;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
558 PCRL_ENTRY rgCRLEntry;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
559 DWORD cExtension;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
560 PCERT_EXTENSION rgExtension;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
561 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
562 alias CRL_INFO* PCRL_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
563
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
564 struct CRL_CONTEXT {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
565 DWORD dwCertEncodingType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
566 BYTE* pbCrlEncoded;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
567 DWORD cbCrlEncoded;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
568 PCRL_INFO pCrlInfo;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
569 HCERTSTORE hCertStore;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
570 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
571 alias CRL_CONTEXT* PCRL_CONTEXT, PCCRL_CONTEXT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
572
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
573 struct CERT_REVOCATION_CRL_INFO {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
574 DWORD cbSize = CERT_REVOCATION_CRL_INFO.sizeof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
575 PCCRL_CONTEXT pBaseCRLContext;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
576 PCCRL_CONTEXT pDeltaCRLContext;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
577 PCRL_ENTRY pCrlEntry;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
578 BOOL fDeltaCrlEntry;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
579 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
580 alias CERT_REVOCATION_CRL_INFO* PCERT_REVOCATION_CRL_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
581
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
582 struct CERT_REVOCATION_INFO {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
583 DWORD cbSize = CERT_REVOCATION_INFO.sizeof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
584 DWORD dwRevocationResult;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
585 LPCSTR pszRevocationOid;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
586 LPVOID pvOidSpecificInfo;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
587 BOOL fHasFreshnessTime;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
588 DWORD dwFreshnessTime;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
589 PCERT_REVOCATION_CRL_INFO pCrlInfo;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
590 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
591 alias CERT_REVOCATION_INFO* PCERT_REVOCATION_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
592
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
593 /* #if (_WIN32_WINNT>=0x500) */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
594 struct CERT_CHAIN_ELEMENT {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
595 DWORD cbSize = CERT_CHAIN_ELEMENT.sizeof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
596 PCCERT_CONTEXT pCertContext;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
597 CERT_TRUST_STATUS TrustStatus;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
598 PCERT_REVOCATION_INFO pRevocationInfo;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
599 PCERT_ENHKEY_USAGE pIssuanceUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
600 PCERT_ENHKEY_USAGE pApplicationUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
601 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
602 alias CERT_CHAIN_ELEMENT* PCERT_CHAIN_ELEMENT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
603 /* #endif */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
604
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
605 struct CRYPT_ATTRIBUTE {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
606 LPSTR pszObjId;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
607 DWORD cValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
608 PCRYPT_ATTR_BLOB rgValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
609 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
610 alias CRYPT_ATTRIBUTE* PCRYPT_ATTRIBUTE;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
611
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
612 struct CTL_ENTRY {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
613 CRYPT_DATA_BLOB SubjectIdentifier;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
614 DWORD cAttribute;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
615 PCRYPT_ATTRIBUTE rgAttribute;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
616 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
617 alias CTL_ENTRY* PCTL_ENTRY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
618
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
619 struct CTL_INFO {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
620 DWORD dwVersion;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
621 CTL_USAGE SubjectUsage;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
622 CRYPT_DATA_BLOB ListIdentifier;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
623 CRYPT_INTEGER_BLOB SequenceNumber;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
624 FILETIME ThisUpdate;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
625 FILETIME NextUpdate;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
626 CRYPT_ALGORITHM_IDENTIFIER SubjectAlgorithm;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
627 DWORD cCTLEntry;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
628 PCTL_ENTRY rgCTLEntry;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
629 DWORD cExtension;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
630 PCERT_EXTENSION rgExtension;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
631 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
632 alias CTL_INFO* PCTL_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
633
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
634 struct CTL_CONTEXT {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
635 DWORD dwMsgAndCertEncodingType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
636 BYTE* pbCtlEncoded;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
637 DWORD cbCtlEncoded;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
638 PCTL_INFO pCtlInfo;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
639 HCERTSTORE hCertStore;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
640 HCRYPTMSG hCryptMsg;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
641 BYTE* pbCtlContent;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
642 DWORD cbCtlContent;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
643 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
644 alias CTL_CONTEXT* PCTL_CONTEXT, PCCTL_CONTEXT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
645
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
646 struct CERT_TRUST_LIST_INFO {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
647 DWORD cbSize = CERT_TRUST_LIST_INFO.sizeof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
648 PCTL_ENTRY pCtlEntry;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
649 PCCTL_CONTEXT pCtlContext;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
650 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
651 alias CERT_TRUST_LIST_INFO* PCERT_TRUST_LIST_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
652
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
653 struct CERT_SIMPLE_CHAIN {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
654 DWORD cbSize = CERT_SIMPLE_CHAIN.sizeof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
655 CERT_TRUST_STATUS TrustStatus;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
656 DWORD cElement;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
657 PCERT_CHAIN_ELEMENT* rgpElement;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
658 PCERT_TRUST_LIST_INFO pTrustListInfo;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
659 BOOL fHasRevocationFreshnessTime;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
660 DWORD dwRevocationFreshnessTime;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
661 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
662 alias CERT_SIMPLE_CHAIN* PCERT_SIMPLE_CHAIN, PCCERT_CHAIN_CONTEXT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
663
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
664 /* #if (_WIN32_WINNT>=0x500) */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
665 struct CERT_CHAIN_CONTEXT {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
666 DWORD cbSize = CERT_CHAIN_CONTEXT.sizeof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
667 CERT_TRUST_STATUS TrustStatus;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
668 DWORD cChain;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
669 PCERT_SIMPLE_CHAIN* rgpChain;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
670 DWORD cLowerQualityChainContext;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
671 PCCERT_CHAIN_CONTEXT* rgpLowerQualityChainContext;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
672 BOOL fHasRevocationFreshnessTime;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
673 DWORD dwRevocationFreshnessTime;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
674 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
675 alias CERT_CHAIN_CONTEXT* PCERT_CHAIN_CONTEXT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
676 /* #endif */
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
677
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
678 struct PROV_ENUMALGS {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
679 ALG_ID aiAlgid;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
680 DWORD dwBitLen;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
681 DWORD dwNameLen;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
682 CHAR[20] szName;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
683 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
684
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
685 struct PUBLICKEYSTRUC {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
686 BYTE bType;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
687 BYTE bVersion;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
688 WORD reserved;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
689 ALG_ID aiKeyAlg;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
690 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
691 alias PUBLICKEYSTRUC BLOBHEADER;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
692
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
693 struct RSAPUBKEY {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
694 DWORD magic;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
695 DWORD bitlen;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
696 DWORD pubexp;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
697 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
698
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
699 struct HMAC_INFO {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
700 ALG_ID HashAlgid;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
701 BYTE* pbInnerString;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
702 DWORD cbInnerString;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
703 BYTE* pbOuterString;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
704 DWORD cbOuterString;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
705 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
706 alias HMAC_INFO* PHMAC_INFO;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
707
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
708 extern (Windows) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
709 BOOL CertCloseStore(HCERTSTORE, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
710 BOOL CertGetCertificateChain(HCERTCHAINENGINE, PCCERT_CONTEXT, LPFILETIME,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
711 HCERTSTORE, PCERT_CHAIN_PARA, DWORD, LPVOID, PCCERT_CHAIN_CONTEXT*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
712 BOOL CertVerifyCertificateChainPolicy(LPCSTR, PCCERT_CHAIN_CONTEXT,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
713 PCERT_CHAIN_POLICY_PARA, PCERT_CHAIN_POLICY_STATUS);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
714 void CertFreeCertificateChain(PCCERT_CHAIN_CONTEXT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
715 DWORD CertNameToStrA(DWORD, PCERT_NAME_BLOB, DWORD, LPSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
716 DWORD CertNameToStrW(DWORD, PCERT_NAME_BLOB, DWORD, LPWSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
717 HCERTSTORE CertOpenSystemStoreA(HCRYPTPROV, LPCSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
718 HCERTSTORE CertOpenSystemStoreW(HCRYPTPROV, LPCWSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
719 HCERTSTORE CertOpenStore(LPCSTR, DWORD, HCRYPTPROV, DWORD, void*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
720 PCCERT_CONTEXT CertFindCertificateInStore(HCERTSTORE, DWORD, DWORD, DWORD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
721 void*, PCCERT_CONTEXT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
722 BOOL CertFreeCertificateContext(PCCERT_CONTEXT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
723 PCCERT_CONTEXT CertGetIssuerCertificateFromStore(HCERTSTORE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
724 PCCERT_CONTEXT, PCCERT_CONTEXT, DWORD*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
725 PCCERT_CHAIN_CONTEXT CertFindChainInStore(HCERTSTORE, DWORD, DWORD, DWORD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
726 void*, PCCERT_CHAIN_CONTEXT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
727
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
728 BOOL CryptAcquireContextA(HCRYPTPROV*, LPCSTR, LPCSTR, DWORD, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
729 BOOL CryptAcquireContextW(HCRYPTPROV*, LPCWSTR, LPCWSTR, DWORD, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
730 BOOL CryptContextAddRef(HCRYPTPROV, DWORD*, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
731 BOOL CryptReleaseContext(HCRYPTPROV, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
732 BOOL CryptGenKey(HCRYPTPROV, ALG_ID, DWORD, HCRYPTKEY*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
733 BOOL CryptDeriveKey(HCRYPTPROV, ALG_ID, HCRYPTHASH, DWORD, HCRYPTKEY*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
734 BOOL CryptDestroyKey(HCRYPTKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
735 static if (WINVER >= 0x0500) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
736 BOOL CryptDuplicateHash(HCRYPTHASH, DWORD*, DWORD, HCRYPTHASH*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
737 BOOL CryptDuplicateKey(HCRYPTKEY, DWORD*, DWORD, HCRYPTKEY*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
738 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
739 BOOL CryptSetKeyParam(HCRYPTKEY, DWORD, PBYTE, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
740 BOOL CryptGetKeyParam(HCRYPTKEY, DWORD, PBYTE, PDWORD, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
741 BOOL CryptSetHashParam(HCRYPTHASH, DWORD, PBYTE, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
742 BOOL CryptGetHashParam(HCRYPTHASH, DWORD, PBYTE, PDWORD, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
743 BOOL CryptSetProvParam(HCRYPTPROV, DWORD, PBYTE, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
744 BOOL CryptGetProvParam(HCRYPTPROV, DWORD, PBYTE, PDWORD, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
745 BOOL CryptGenRandom(HCRYPTPROV, DWORD, PBYTE);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
746 BOOL CryptGetUserKey(HCRYPTPROV, DWORD, HCRYPTKEY*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
747 BOOL CryptExportKey(HCRYPTKEY, HCRYPTKEY, DWORD, DWORD, PBYTE, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
748 BOOL CryptImportKey(HCRYPTPROV, PBYTE, DWORD, HCRYPTKEY, DWORD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
749 HCRYPTKEY*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
750 BOOL CryptEncrypt(HCRYPTKEY, HCRYPTHASH, BOOL, DWORD, PBYTE, PDWORD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
751 DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
752 BOOL CryptDecrypt(HCRYPTKEY, HCRYPTHASH, BOOL, DWORD, PBYTE, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
753 BOOL CryptCreateHash(HCRYPTPROV, ALG_ID, HCRYPTKEY, DWORD, HCRYPTHASH*);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
754 BOOL CryptHashData(HCRYPTHASH, PBYTE, DWORD, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
755 BOOL CryptHashSessionKey(HCRYPTHASH, HCRYPTKEY, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
756 BOOL CryptGetHashValue(HCRYPTHASH, DWORD, PBYTE, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
757 BOOL CryptDestroyHash(HCRYPTHASH);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
758 BOOL CryptSignHashA(HCRYPTHASH, DWORD, LPCSTR, DWORD, PBYTE, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
759 BOOL CryptSignHashW(HCRYPTHASH, DWORD, LPCWSTR, DWORD, PBYTE, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
760 BOOL CryptVerifySignatureA(HCRYPTHASH, PBYTE, DWORD, HCRYPTKEY, LPCSTR,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
761 DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
762 BOOL CryptVerifySignatureW(HCRYPTHASH, PBYTE, DWORD, HCRYPTKEY, LPCWSTR,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
763 DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
764 BOOL CryptSetProviderA(LPCSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
765 BOOL CryptSetProviderW(LPCWSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
766 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
767
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
768 version (Unicode) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
769 alias CertNameToStrW CertNameToStr;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
770 alias CryptAcquireContextW CryptAcquireContext;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
771 alias CryptSignHashW CryptSignHash;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
772 alias CryptVerifySignatureW CryptVerifySignature;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
773 alias CryptSetProviderW CryptSetProvider;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
774 alias CertOpenSystemStoreW CertOpenSystemStore;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
775 /+alias CERT_FIND_SUBJECT_STR_W CERT_FIND_SUBJECT_STR;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
776 alias CERT_FIND_ISSUER_STR_W CERT_FIND_ISSUER_STR;+/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
777 } else {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
778 alias CertNameToStrA CertNameToStr;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
779 alias CryptAcquireContextA CryptAcquireContext;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
780 alias CryptSignHashA CryptSignHash;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
781 alias CryptVerifySignatureA CryptVerifySignature;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
782 alias CryptSetProviderA CryptSetProvider;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
783 alias CertOpenSystemStoreA CertOpenSystemStore;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
784 /+alias CERT_FIND_SUBJECT_STR_A CERT_FIND_SUBJECT_STR;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
785 alias CERT_FIND_ISSUER_STR_A CERT_FIND_ISSUER_STR;+/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
786 }