]>
Commit | Line | Data |
---|---|---|
8bb4bdeb XL |
1 | // Copyright © 2015, Peter Atashian |
2 | // Licensed under the MIT License <LICENSE.md> | |
3 | //! Cryptographic API Prototypes and Definitions | |
4 | //108 | |
5 | pub const ALG_CLASS_ANY: ALG_ID = 0; | |
6 | pub const ALG_CLASS_SIGNATURE: ALG_ID = 1 << 13; | |
7 | pub const ALG_CLASS_MSG_ENCRYPT: ALG_ID = 2 << 13; | |
8 | pub const ALG_CLASS_DATA_ENCRYPT: ALG_ID = 3 << 13; | |
9 | pub const ALG_CLASS_HASH: ALG_ID = 4 << 13; | |
10 | pub const ALG_CLASS_KEY_EXCHANGE: ALG_ID = 5 << 13; | |
11 | pub const ALG_CLASS_ALL: ALG_ID = 7 << 13; | |
12 | pub const ALG_TYPE_ANY: ALG_ID = 0; | |
13 | pub const ALG_TYPE_DSS: ALG_ID = 1 << 9; | |
14 | pub const ALG_TYPE_RSA: ALG_ID = 2 << 9; | |
15 | pub const ALG_TYPE_BLOCK: ALG_ID = 3 << 9; | |
16 | pub const ALG_TYPE_STREAM: ALG_ID = 4 << 9; | |
17 | pub const ALG_TYPE_DH: ALG_ID = 5 << 9; | |
18 | pub const ALG_TYPE_SECURECHANNEL: ALG_ID = 6 << 9; | |
19 | pub const ALG_SID_ANY: ALG_ID = 0; | |
20 | pub const ALG_SID_RSA_ANY: ALG_ID = 0; | |
21 | pub const ALG_SID_RSA_PKCS: ALG_ID = 1; | |
22 | pub const ALG_SID_RSA_MSATWORK: ALG_ID = 2; | |
23 | pub const ALG_SID_RSA_ENTRUST: ALG_ID = 3; | |
24 | pub const ALG_SID_RSA_PGP: ALG_ID = 4; | |
25 | pub const ALG_SID_DSS_ANY: ALG_ID = 0; | |
26 | pub const ALG_SID_DSS_PKCS: ALG_ID = 1; | |
27 | pub const ALG_SID_DSS_DMS: ALG_ID = 2; | |
28 | pub const ALG_SID_ECDSA: ALG_ID = 3; | |
29 | pub const ALG_SID_DES: ALG_ID = 1; | |
30 | pub const ALG_SID_3DES: ALG_ID = 3; | |
31 | pub const ALG_SID_DESX: ALG_ID = 4; | |
32 | pub const ALG_SID_IDEA: ALG_ID = 5; | |
33 | pub const ALG_SID_CAST: ALG_ID = 6; | |
34 | pub const ALG_SID_SAFERSK64: ALG_ID = 7; | |
35 | pub const ALG_SID_SAFERSK128: ALG_ID = 8; | |
36 | pub const ALG_SID_3DES_112: ALG_ID = 9; | |
37 | pub const ALG_SID_CYLINK_MEK: ALG_ID = 12; | |
38 | pub const ALG_SID_RC5: ALG_ID = 13; | |
39 | pub const ALG_SID_AES_128: ALG_ID = 14; | |
40 | pub const ALG_SID_AES_192: ALG_ID = 15; | |
41 | pub const ALG_SID_AES_256: ALG_ID = 16; | |
42 | pub const ALG_SID_AES: ALG_ID = 17; | |
43 | pub const ALG_SID_SKIPJACK: ALG_ID = 10; | |
44 | pub const ALG_SID_TEK: ALG_ID = 11; | |
45 | pub const CRYPT_MODE_CBCI: ALG_ID = 6; | |
46 | pub const CRYPT_MODE_CFBP: ALG_ID = 7; | |
47 | pub const CRYPT_MODE_OFBP: ALG_ID = 8; | |
48 | pub const CRYPT_MODE_CBCOFM: ALG_ID = 9; | |
49 | pub const CRYPT_MODE_CBCOFMI: ALG_ID = 10; | |
50 | pub const ALG_SID_RC2: ALG_ID = 2; | |
51 | pub const ALG_SID_RC4: ALG_ID = 1; | |
52 | pub const ALG_SID_SEAL: ALG_ID = 2; | |
53 | pub const ALG_SID_DH_SANDF: ALG_ID = 1; | |
54 | pub const ALG_SID_DH_EPHEM: ALG_ID = 2; | |
55 | pub const ALG_SID_AGREED_KEY_ANY: ALG_ID = 3; | |
56 | pub const ALG_SID_KEA: ALG_ID = 4; | |
57 | pub const ALG_SID_ECDH: ALG_ID = 5; | |
58 | pub const ALG_SID_MD2: ALG_ID = 1; | |
59 | pub const ALG_SID_MD4: ALG_ID = 2; | |
60 | pub const ALG_SID_MD5: ALG_ID = 3; | |
61 | pub const ALG_SID_SHA: ALG_ID = 4; | |
62 | pub const ALG_SID_SHA1: ALG_ID = 4; | |
63 | pub const ALG_SID_MAC: ALG_ID = 5; | |
64 | pub const ALG_SID_RIPEMD: ALG_ID = 6; | |
65 | pub const ALG_SID_RIPEMD160: ALG_ID = 7; | |
66 | pub const ALG_SID_SSL3SHAMD5: ALG_ID = 8; | |
67 | pub const ALG_SID_HMAC: ALG_ID = 9; | |
68 | pub const ALG_SID_TLS1PRF: ALG_ID = 10; | |
69 | pub const ALG_SID_HASH_REPLACE_OWF: ALG_ID = 11; | |
70 | pub const ALG_SID_SHA_256: ALG_ID = 12; | |
71 | pub const ALG_SID_SHA_384: ALG_ID = 13; | |
72 | pub const ALG_SID_SHA_512: ALG_ID = 14; | |
73 | pub const ALG_SID_SSL3_MASTER: ALG_ID = 1; | |
74 | pub const ALG_SID_SCHANNEL_MASTER_HASH: ALG_ID = 2; | |
75 | pub const ALG_SID_SCHANNEL_MAC_KEY: ALG_ID = 3; | |
76 | pub const ALG_SID_PCT1_MASTER: ALG_ID = 4; | |
77 | pub const ALG_SID_SSL2_MASTER: ALG_ID = 5; | |
78 | pub const ALG_SID_TLS1_MASTER: ALG_ID = 6; | |
79 | pub const ALG_SID_SCHANNEL_ENC_KEY: ALG_ID = 7; | |
80 | pub const ALG_SID_ECMQV: ALG_ID = 1; | |
81 | pub const ALG_SID_EXAMPLE: ALG_ID = 80; | |
82 | pub type ALG_ID = ::c_uint; | |
83 | pub const CALG_MD2: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD2; | |
84 | pub const CALG_MD4: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD4; | |
85 | pub const CALG_MD5: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD5; | |
86 | pub const CALG_SHA: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA; | |
87 | pub const CALG_SHA1: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA1; | |
88 | pub const CALG_MAC: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MAC; | |
89 | pub const CALG_RSA_SIGN: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_RSA | ALG_SID_RSA_ANY; | |
90 | pub const CALG_DSS_SIGN: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_DSS_ANY; | |
91 | pub const CALG_NO_SIGN: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_ANY | ALG_SID_ANY; | |
92 | pub const CALG_RSA_KEYX: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_RSA | ALG_SID_RSA_ANY; | |
93 | pub const CALG_DES: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_DES; | |
94 | pub const CALG_3DES_112: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_3DES_112; | |
95 | pub const CALG_3DES: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_3DES; | |
96 | pub const CALG_DESX: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_DESX; | |
97 | pub const CALG_RC2: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_RC2; | |
98 | pub const CALG_RC4: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_RC4; | |
99 | pub const CALG_SEAL: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_SEAL; | |
100 | pub const CALG_DH_SF: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_DH_SANDF; | |
101 | pub const CALG_DH_EPHEM: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_DH_EPHEM; | |
102 | pub const CALG_AGREEDKEY_ANY: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | |
103 | | ALG_SID_AGREED_KEY_ANY; | |
104 | pub const CALG_KEA_KEYX: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_KEA; | |
105 | pub const CALG_HUGHES_MD5: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_ANY | ALG_SID_MD5; | |
106 | pub const CALG_SKIPJACK: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_SKIPJACK; | |
107 | pub const CALG_TEK: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_TEK; | |
108 | pub const CALG_CYLINK_MEK: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_CYLINK_MEK; | |
109 | pub const CALG_SSL3_SHAMD5: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SSL3SHAMD5; | |
110 | pub const CALG_SSL3_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL | |
111 | | ALG_SID_SSL3_MASTER; | |
112 | pub const CALG_SCHANNEL_MASTER_HASH: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL | |
113 | | ALG_SID_SCHANNEL_MASTER_HASH; | |
114 | pub const CALG_SCHANNEL_MAC_KEY: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL | |
115 | | ALG_SID_SCHANNEL_MAC_KEY; | |
116 | pub const CALG_SCHANNEL_ENC_KEY: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL | |
117 | | ALG_SID_SCHANNEL_ENC_KEY; | |
118 | pub const CALG_PCT1_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL | |
119 | | ALG_SID_PCT1_MASTER; | |
120 | pub const CALG_SSL2_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL | |
121 | | ALG_SID_SSL2_MASTER; | |
122 | pub const CALG_TLS1_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL | |
123 | | ALG_SID_TLS1_MASTER; | |
124 | pub const CALG_RC5: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_RC5; | |
125 | pub const CALG_HMAC: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HMAC; | |
126 | pub const CALG_TLS1PRF: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_TLS1PRF; | |
127 | pub const CALG_HASH_REPLACE_OWF: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HASH_REPLACE_OWF; | |
128 | pub const CALG_AES_128: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_128; | |
129 | pub const CALG_AES_192: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_192; | |
130 | pub const CALG_AES_256: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_256; | |
131 | pub const CALG_AES: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES; | |
132 | pub const CALG_SHA_256: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_256; | |
133 | pub const CALG_SHA_384: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_384; | |
134 | pub const CALG_SHA_512: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_512; | |
135 | pub const CALG_ECDH: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_ECDH; | |
136 | pub const CALG_ECMQV: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_ANY | ALG_SID_ECMQV; | |
137 | pub const CALG_ECDSA: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_ECDSA; | |
138 | pub type HCRYPTPROV = ::ULONG_PTR; | |
139 | pub type HCRYPTKEY = ::ULONG_PTR; | |
140 | pub type HCRYPTHASH = ::ULONG_PTR; | |
141 | pub const CRYPT_VERIFYCONTEXT: ::DWORD = 0xF0000000; | |
142 | pub const CRYPT_NEWKEYSET: ::DWORD = 0x00000008; | |
143 | pub const CRYPT_DELETEKEYSET: ::DWORD = 0x00000010; | |
144 | pub const CRYPT_MACHINE_KEYSET: ::DWORD = 0x00000020; | |
145 | pub const CRYPT_SILENT: ::DWORD = 0x00000040; | |
146 | pub const CRYPT_DEFAULT_CONTAINER_OPTIONAL: ::DWORD = 0x00000080; | |
147 | pub const CRYPT_EXPORTABLE: ::DWORD = 0x00000001; | |
148 | pub const CRYPT_USER_PROTECTED: ::DWORD = 0x00000002; | |
149 | pub const CRYPT_CREATE_SALT: ::DWORD = 0x00000004; | |
150 | pub const CRYPT_UPDATE_KEY: ::DWORD = 0x00000008; | |
151 | pub const CRYPT_NO_SALT: ::DWORD = 0x00000010; | |
152 | pub const CRYPT_PREGEN: ::DWORD = 0x00000040; | |
153 | pub const CRYPT_RECIPIENT: ::DWORD = 0x00000010; | |
154 | pub const CRYPT_INITIATOR: ::DWORD = 0x00000040; | |
155 | pub const CRYPT_ONLINE: ::DWORD = 0x00000080; | |
156 | pub const CRYPT_SF: ::DWORD = 0x00000100; | |
157 | pub const CRYPT_CREATE_IV: ::DWORD = 0x00000200; | |
158 | pub const CRYPT_KEK: ::DWORD = 0x00000400; | |
159 | pub const CRYPT_DATA_KEY: ::DWORD = 0x00000800; | |
160 | pub const CRYPT_VOLATILE: ::DWORD = 0x00001000; | |
161 | pub const CRYPT_SGCKEY: ::DWORD = 0x00002000; | |
162 | pub const CRYPT_USER_PROTECTED_STRONG: ::DWORD = 0x00100000; | |
163 | pub const CRYPT_ARCHIVABLE: ::DWORD = 0x00004000; | |
164 | pub const CRYPT_FORCE_KEY_PROTECTION_HIGH: ::DWORD = 0x00008000; | |
165 | pub const RSA1024BIT_KEY: ::DWORD = 0x04000000; | |
166 | pub const CRYPT_SERVER: ::DWORD = 0x00000400; | |
167 | pub const KEY_LENGTH_MASK: ::DWORD = 0xFFFF0000; | |
168 | pub const CRYPT_Y_ONLY: ::DWORD = 0x00000001; | |
169 | pub const CRYPT_SSL2_FALLBACK: ::DWORD = 0x00000002; | |
170 | pub const CRYPT_DESTROYKEY: ::DWORD = 0x00000004; | |
171 | pub const CRYPT_OAEP: ::DWORD = 0x00000040; | |
172 | pub const CRYPT_BLOB_VER3: ::DWORD = 0x00000080; | |
173 | pub const CRYPT_IPSEC_HMAC_KEY: ::DWORD = 0x00000100; | |
174 | pub const CRYPT_DECRYPT_RSA_NO_PADDING_CHECK: ::DWORD = 0x00000020; | |
175 | pub const CRYPT_SECRETDIGEST: ::DWORD = 0x00000001; | |
176 | pub const CRYPT_OWF_REPL_LM_HASH: ::DWORD = 0x00000001; | |
177 | pub const CRYPT_LITTLE_ENDIAN: ::DWORD = 0x00000001; | |
178 | pub const CRYPT_NOHASHOID: ::DWORD = 0x00000001; | |
179 | pub const CRYPT_TYPE2_FORMAT: ::DWORD = 0x00000002; | |
180 | pub const CRYPT_X931_FORMAT: ::DWORD = 0x00000004; | |
181 | pub const CRYPT_MACHINE_DEFAULT: ::DWORD = 0x00000001; | |
182 | pub const CRYPT_USER_DEFAULT: ::DWORD = 0x00000002; | |
183 | pub const CRYPT_DELETE_DEFAULT: ::DWORD = 0x00000004; | |
184 | pub const SIMPLEBLOB: ::DWORD = 0x1; | |
185 | pub const PUBLICKEYBLOB: ::DWORD = 0x6; | |
186 | pub const PRIVATEKEYBLOB: ::DWORD = 0x7; | |
187 | pub const PLAINTEXTKEYBLOB: ::DWORD = 0x8; | |
188 | pub const OPAQUEKEYBLOB: ::DWORD = 0x9; | |
189 | pub const PUBLICKEYBLOBEX: ::DWORD = 0xA; | |
190 | pub const SYMMETRICWRAPKEYBLOB: ::DWORD = 0xB; | |
191 | pub const KEYSTATEBLOB: ::DWORD = 0xC; | |
192 | pub const AT_KEYEXCHANGE: ::DWORD = 1; | |
193 | pub const AT_SIGNATURE: ::DWORD = 2; | |
194 | pub const CRYPT_USERDATA: ::DWORD = 1; | |
195 | pub const KP_IV: ::DWORD = 1; | |
196 | pub const KP_SALT: ::DWORD = 2; | |
197 | pub const KP_PADDING: ::DWORD = 3; | |
198 | pub const KP_MODE: ::DWORD = 4; | |
199 | pub const KP_MODE_BITS: ::DWORD = 5; | |
200 | pub const KP_PERMISSIONS: ::DWORD = 6; | |
201 | pub const KP_ALGID: ::DWORD = 7; | |
202 | pub const KP_BLOCKLEN: ::DWORD = 8; | |
203 | pub const KP_KEYLEN: ::DWORD = 9; | |
204 | pub const KP_SALT_EX: ::DWORD = 10; | |
205 | pub const KP_P: ::DWORD = 11; | |
206 | pub const KP_G: ::DWORD = 12; | |
207 | pub const KP_Q: ::DWORD = 13; | |
208 | pub const KP_X: ::DWORD = 14; | |
209 | pub const KP_Y: ::DWORD = 15; | |
210 | pub const KP_RA: ::DWORD = 16; | |
211 | pub const KP_RB: ::DWORD = 17; | |
212 | pub const KP_INFO: ::DWORD = 18; | |
213 | pub const KP_EFFECTIVE_KEYLEN: ::DWORD = 19; | |
214 | pub const KP_SCHANNEL_ALG: ::DWORD = 20; | |
215 | pub const KP_CLIENT_RANDOM: ::DWORD = 21; | |
216 | pub const KP_SERVER_RANDOM: ::DWORD = 22; | |
217 | pub const KP_RP: ::DWORD = 23; | |
218 | pub const KP_PRECOMP_MD5: ::DWORD = 24; | |
219 | pub const KP_PRECOMP_SHA: ::DWORD = 25; | |
220 | pub const KP_CERTIFICATE: ::DWORD = 26; | |
221 | pub const KP_CLEAR_KEY: ::DWORD = 27; | |
222 | pub const KP_PUB_EX_LEN: ::DWORD = 28; | |
223 | pub const KP_PUB_EX_VAL: ::DWORD = 29; | |
224 | pub const KP_KEYVAL: ::DWORD = 30; | |
225 | pub const KP_ADMIN_PIN: ::DWORD = 31; | |
226 | pub const KP_KEYEXCHANGE_PIN: ::DWORD = 32; | |
227 | pub const KP_SIGNATURE_PIN: ::DWORD = 33; | |
228 | pub const KP_PREHASH: ::DWORD = 34; | |
229 | pub const KP_ROUNDS: ::DWORD = 35; | |
230 | pub const KP_OAEP_PARAMS: ::DWORD = 36; | |
231 | pub const KP_CMS_KEY_INFO: ::DWORD = 37; | |
232 | pub const KP_CMS_DH_KEY_INFO: ::DWORD = 38; | |
233 | pub const KP_PUB_PARAMS: ::DWORD = 39; | |
234 | pub const KP_VERIFY_PARAMS: ::DWORD = 40; | |
235 | pub const KP_HIGHEST_VERSION: ::DWORD = 41; | |
236 | pub const KP_GET_USE_COUNT: ::DWORD = 42; | |
237 | pub const KP_PIN_ID: ::DWORD = 43; | |
238 | pub const KP_PIN_INFO: ::DWORD = 44; | |
239 | pub const PKCS5_PADDING: ::DWORD = 1; | |
240 | pub const RANDOM_PADDING: ::DWORD = 2; | |
241 | pub const ZERO_PADDING: ::DWORD = 3; | |
242 | pub const CRYPT_MODE_CBC: ::DWORD = 1; | |
243 | pub const CRYPT_MODE_ECB: ::DWORD = 2; | |
244 | pub const CRYPT_MODE_OFB: ::DWORD = 3; | |
245 | pub const CRYPT_MODE_CFB: ::DWORD = 4; | |
246 | pub const CRYPT_MODE_CTS: ::DWORD = 5; | |
247 | pub const CRYPT_ENCRYPT: ::DWORD = 0x0001; | |
248 | pub const CRYPT_DECRYPT: ::DWORD = 0x0002; | |
249 | pub const CRYPT_EXPORT: ::DWORD = 0x0004; | |
250 | pub const CRYPT_READ: ::DWORD = 0x0008; | |
251 | pub const CRYPT_WRITE: ::DWORD = 0x0010; | |
252 | pub const CRYPT_MAC: ::DWORD = 0x0020; | |
253 | pub const CRYPT_EXPORT_KEY: ::DWORD = 0x0040; | |
254 | pub const CRYPT_IMPORT_KEY: ::DWORD = 0x0080; | |
255 | pub const CRYPT_ARCHIVE: ::DWORD = 0x0100; | |
256 | pub const HP_ALGID: ::DWORD = 0x0001; | |
257 | pub const HP_HASHVAL: ::DWORD = 0x0002; | |
258 | pub const HP_HASHSIZE: ::DWORD = 0x0004; | |
259 | pub const HP_HMAC_INFO: ::DWORD = 0x0005; | |
260 | pub const HP_TLS1PRF_LABEL: ::DWORD = 0x0006; | |
261 | pub const HP_TLS1PRF_SEED: ::DWORD = 0x0007; | |
262 | pub const CRYPT_FAILED: ::BOOL = ::FALSE; | |
263 | pub const CRYPT_SUCCEED: ::BOOL = ::TRUE; | |
264 | pub const PP_ENUMALGS: ::DWORD = 1; | |
265 | pub const PP_ENUMCONTAINERS: ::DWORD = 2; | |
266 | pub const PP_IMPTYPE: ::DWORD = 3; | |
267 | pub const PP_NAME: ::DWORD = 4; | |
268 | pub const PP_VERSION: ::DWORD = 5; | |
269 | pub const PP_CONTAINER: ::DWORD = 6; | |
270 | pub const PP_CHANGE_PASSWORD: ::DWORD = 7; | |
271 | pub const PP_KEYSET_SEC_DESCR: ::DWORD = 8; | |
272 | pub const PP_CERTCHAIN: ::DWORD = 9; | |
273 | pub const PP_KEY_TYPE_SUBTYPE: ::DWORD = 10; | |
274 | pub const PP_PROVTYPE: ::DWORD = 16; | |
275 | pub const PP_KEYSTORAGE: ::DWORD = 17; | |
276 | pub const PP_APPLI_CERT: ::DWORD = 18; | |
277 | pub const PP_SYM_KEYSIZE: ::DWORD = 19; | |
278 | pub const PP_SESSION_KEYSIZE: ::DWORD = 20; | |
279 | pub const PP_UI_PROMPT: ::DWORD = 21; | |
280 | pub const PP_ENUMALGS_EX: ::DWORD = 22; | |
281 | pub const PP_ENUMMANDROOTS: ::DWORD = 25; | |
282 | pub const PP_ENUMELECTROOTS: ::DWORD = 26; | |
283 | pub const PP_KEYSET_TYPE: ::DWORD = 27; | |
284 | pub const PP_ADMIN_PIN: ::DWORD = 31; | |
285 | pub const PP_KEYEXCHANGE_PIN: ::DWORD = 32; | |
286 | pub const PP_SIGNATURE_PIN: ::DWORD = 33; | |
287 | pub const PP_SIG_KEYSIZE_INC: ::DWORD = 34; | |
288 | pub const PP_KEYX_KEYSIZE_INC: ::DWORD = 35; | |
289 | pub const PP_UNIQUE_CONTAINER: ::DWORD = 36; | |
290 | pub const PP_SGC_INFO: ::DWORD = 37; | |
291 | pub const PP_USE_HARDWARE_RNG: ::DWORD = 38; | |
292 | pub const PP_KEYSPEC: ::DWORD = 39; | |
293 | pub const PP_ENUMEX_SIGNING_PROT: ::DWORD = 40; | |
294 | pub const PP_CRYPT_COUNT_KEY_USE: ::DWORD = 41; | |
295 | pub const PP_USER_CERTSTORE: ::DWORD = 42; | |
296 | pub const PP_SMARTCARD_READER: ::DWORD = 43; | |
297 | pub const PP_SMARTCARD_GUID: ::DWORD = 45; | |
298 | pub const PP_ROOT_CERTSTORE: ::DWORD = 46; | |
299 | pub const PP_SMARTCARD_READER_ICON: ::DWORD = 47; | |
300 | pub const CRYPT_FIRST: ::DWORD = 1; | |
301 | pub const CRYPT_NEXT: ::DWORD = 2; | |
302 | pub const CRYPT_SGC_ENUM: ::DWORD = 4; | |
303 | pub const CRYPT_IMPL_HARDWARE: ::DWORD = 1; | |
304 | pub const CRYPT_IMPL_SOFTWARE: ::DWORD = 2; | |
305 | pub const CRYPT_IMPL_MIXED: ::DWORD = 3; | |
306 | pub const CRYPT_IMPL_UNKNOWN: ::DWORD = 4; | |
307 | pub const CRYPT_IMPL_REMOVABLE: ::DWORD = 8; | |
308 | pub const CRYPT_SEC_DESCR: ::DWORD = 0x00000001; | |
309 | pub const CRYPT_PSTORE: ::DWORD = 0x00000002; | |
310 | pub const CRYPT_UI_PROMPT: ::DWORD = 0x00000004; | |
311 | pub const CRYPT_FLAG_PCT1: ::DWORD = 0x0001; | |
312 | pub const CRYPT_FLAG_SSL2: ::DWORD = 0x0002; | |
313 | pub const CRYPT_FLAG_SSL3: ::DWORD = 0x0004; | |
314 | pub const CRYPT_FLAG_TLS1: ::DWORD = 0x0008; | |
315 | pub const CRYPT_FLAG_IPSEC: ::DWORD = 0x0010; | |
316 | pub const CRYPT_FLAG_SIGNING: ::DWORD = 0x0020; | |
317 | pub const CRYPT_SGC: ::DWORD = 0x0001; | |
318 | pub const CRYPT_FASTSGC: ::DWORD = 0x0002; | |
319 | pub const PP_CLIENT_HWND: ::DWORD = 1; | |
320 | pub const PP_CONTEXT_INFO: ::DWORD = 11; | |
321 | pub const PP_KEYEXCHANGE_KEYSIZE: ::DWORD = 12; | |
322 | pub const PP_SIGNATURE_KEYSIZE: ::DWORD = 13; | |
323 | pub const PP_KEYEXCHANGE_ALG: ::DWORD = 14; | |
324 | pub const PP_SIGNATURE_ALG: ::DWORD = 15; | |
325 | pub const PP_DELETEKEY: ::DWORD = 24; | |
326 | pub const PP_PIN_PROMPT_STRING: ::DWORD = 44; | |
327 | pub const PP_SECURE_KEYEXCHANGE_PIN: ::DWORD = 47; | |
328 | pub const PP_SECURE_SIGNATURE_PIN: ::DWORD = 48; | |
329 | pub const PROV_RSA_FULL: ::DWORD = 1; | |
330 | pub const PROV_RSA_SIG: ::DWORD = 2; | |
331 | pub const PROV_DSS: ::DWORD = 3; | |
332 | pub const PROV_FORTEZZA: ::DWORD = 4; | |
333 | pub const PROV_MS_EXCHANGE: ::DWORD = 5; | |
334 | pub const PROV_SSL: ::DWORD = 6; | |
335 | pub const PROV_RSA_SCHANNEL: ::DWORD = 12; | |
336 | pub const PROV_DSS_DH: ::DWORD = 13; | |
337 | pub const PROV_EC_ECDSA_SIG: ::DWORD = 14; | |
338 | pub const PROV_EC_ECNRA_SIG: ::DWORD = 15; | |
339 | pub const PROV_EC_ECDSA_FULL: ::DWORD = 16; | |
340 | pub const PROV_EC_ECNRA_FULL: ::DWORD = 17; | |
341 | pub const PROV_DH_SCHANNEL: ::DWORD = 18; | |
342 | pub const PROV_SPYRUS_LYNKS: ::DWORD = 20; | |
343 | pub const PROV_RNG: ::DWORD = 21; | |
344 | pub const PROV_INTEL_SEC: ::DWORD = 22; | |
345 | pub const PROV_REPLACE_OWF: ::DWORD = 23; | |
346 | pub const PROV_RSA_AES: ::DWORD = 24; | |
347 | pub const MS_DEF_PROV: &'static str = "Microsoft Base Cryptographic Provider v1.0"; | |
348 | pub const MS_ENHANCED_PROV: &'static str = "Microsoft Enhanced Cryptographic Provider v1.0"; | |
349 | pub const MS_STRONG_PROV: &'static str = "Microsoft Strong Cryptographic Provider"; | |
350 | pub const MS_DEF_RSA_SIG_PROV: &'static str = "Microsoft RSA Signature Cryptographic Provider"; | |
351 | pub const MS_DEF_RSA_SCHANNEL_PROV: &'static str = "Microsoft RSA SChannel Cryptographic Provider"; | |
352 | pub const MS_DEF_DSS_PROV: &'static str = "Microsoft Base DSS Cryptographic Provider"; | |
353 | pub const MS_DEF_DSS_DH_PROV: &'static str = | |
354 | "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"; | |
355 | pub const MS_ENH_DSS_DH_PROV: &'static str = | |
356 | "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"; | |
357 | pub const MS_DEF_DH_SCHANNEL_PROV: &'static str = "Microsoft DH SChannel Cryptographic Provider"; | |
358 | pub const MS_SCARD_PROV: &'static str = "Microsoft Base Smart Card Crypto Provider"; | |
359 | pub const MS_ENH_RSA_AES_PROV: &'static str = | |
360 | "Microsoft Enhanced RSA and AES Cryptographic Provider"; | |
361 | pub const MS_ENH_RSA_AES_PROV_XP: &'static str = | |
362 | "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"; | |
363 | pub const MAXUIDLEN: usize = 64; | |
364 | pub const EXPO_OFFLOAD_REG_VALUE: &'static str = "ExpoOffload"; | |
365 | pub const EXPO_OFFLOAD_FUNC_NAME: &'static str = "OffloadModExpo"; | |
366 | pub const szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS: &'static str = | |
367 | "Software\\Policies\\Microsoft\\Cryptography"; | |
368 | pub const szKEY_CACHE_ENABLED: &'static str = "CachePrivateKeys"; | |
369 | pub const szKEY_CACHE_SECONDS: &'static str = "PrivateKeyLifetimeSeconds"; | |
370 | pub const szPRIV_KEY_CACHE_MAX_ITEMS: &'static str = "PrivKeyCacheMaxItems"; | |
371 | pub const cPRIV_KEY_CACHE_MAX_ITEMS_DEFAULT: ::DWORD = 20; | |
372 | pub const szPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS: &'static str = | |
373 | "PrivKeyCachePurgeIntervalSeconds"; | |
374 | pub const cPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS_DEFAULT: ::DWORD = 86400; | |
375 | pub const CUR_BLOB_VERSION: ::DWORD = 2; | |
376 | STRUCT!{struct CMS_KEY_INFO { | |
377 | dwVersion: ::DWORD, | |
378 | Algid: ALG_ID, | |
379 | pbOID: *mut ::BYTE, | |
380 | cbOID: ::DWORD, | |
381 | }} | |
382 | pub type PCMS_KEY_INFO = *mut CMS_KEY_INFO; | |
383 | STRUCT!{struct HMAC_INFO { | |
384 | HashAlgid: ALG_ID, | |
385 | pbInnerString: *mut ::BYTE, | |
386 | cbInnerString: ::DWORD, | |
387 | pbOuterString: *mut ::BYTE, | |
388 | cbOuterString: ::DWORD, | |
389 | }} | |
390 | pub type PHMAC_INFO = *mut HMAC_INFO; | |
391 | STRUCT!{struct SCHANNEL_ALG { | |
392 | dwUse: ::DWORD, | |
393 | Algid: ALG_ID, | |
394 | cBits: ::DWORD, | |
395 | dwFlags: ::DWORD, | |
396 | dwReserved: ::DWORD, | |
397 | }} | |
398 | pub type PSCHANNEL_ALG = *mut SCHANNEL_ALG; | |
399 | pub const SCHANNEL_MAC_KEY: ::DWORD = 0x00000000; | |
400 | pub const SCHANNEL_ENC_KEY: ::DWORD = 0x00000001; | |
401 | pub const INTERNATIONAL_USAGE: ::DWORD = 0x00000001; | |
402 | STRUCT!{struct PROV_ENUMALGS { | |
403 | aiAlgid: ALG_ID, | |
404 | dwBitLen: ::DWORD, | |
405 | dwNameLen: ::DWORD, | |
406 | szName: [::CHAR; 20], | |
407 | }} | |
408 | STRUCT!{nodebug struct PROV_ENUMALGS_EX { | |
409 | aiAlgid: ALG_ID, | |
410 | dwDefaultLen: ::DWORD, | |
411 | dwMinLen: ::DWORD, | |
412 | dwMaxLen: ::DWORD, | |
413 | dwProtocols: ::DWORD, | |
414 | dwNameLen: ::DWORD, | |
415 | szName: [::CHAR; 20], | |
416 | dwLongNameLen: ::DWORD, | |
417 | szLongName: [::CHAR; 40], | |
418 | }} | |
419 | STRUCT!{struct BLOBHEADER { | |
420 | bType: ::BYTE, | |
421 | bVersion: ::BYTE, | |
422 | reserved: ::WORD, | |
423 | aiKeyAlg: ::ALG_ID, | |
424 | }} | |
425 | pub type PUBLICKEYSTRUC = BLOBHEADER; | |
426 | STRUCT!{struct RSAPUBKEY { | |
427 | magic: ::DWORD, | |
428 | bitlen: ::DWORD, | |
429 | pubexp: ::DWORD, | |
430 | }} | |
431 | STRUCT!{struct DHPUBKEY { | |
432 | magic: ::DWORD, | |
433 | bitlen: ::DWORD, | |
434 | }} | |
435 | pub type DSSPUBKEY = DHPUBKEY; | |
436 | pub type KEAPUBKEY = DHPUBKEY; | |
437 | pub type TEKPUBKEY = DHPUBKEY; | |
438 | STRUCT!{struct DSSSEED { | |
439 | counter: ::DWORD, | |
440 | seed: [::BYTE; 20], | |
441 | }} | |
442 | STRUCT!{struct DHPUBKEY_VER3 { | |
443 | magic: ::DWORD, | |
444 | bitlenP: ::DWORD, | |
445 | bitlenQ: ::DWORD, | |
446 | bitlenJ: ::DWORD, | |
447 | DSSSeed: DSSSEED, | |
448 | }} | |
449 | pub type DSSPUBKEY_VER3 = DHPUBKEY_VER3; | |
450 | STRUCT!{struct DHPRIVKEY_VER3 { | |
451 | magic: ::DWORD, | |
452 | bitlenP: ::DWORD, | |
453 | bitlenQ: ::DWORD, | |
454 | bitlenJ: ::DWORD, | |
455 | bitlenX: ::DWORD, | |
456 | DSSSeed: DSSSEED, | |
457 | }} | |
458 | pub type DSSPRIVKEY_VER3 = DHPRIVKEY_VER3; | |
459 | STRUCT!{struct KEY_TYPE_SUBTYPE { | |
460 | dwKeySpec: ::DWORD, | |
461 | Type: ::GUID, | |
462 | Subtype: ::GUID, | |
463 | }} | |
464 | pub type PKEY_TYPE_SUBTYPE = *mut KEY_TYPE_SUBTYPE; | |
465 | STRUCT!{nodebug struct CERT_FORTEZZA_DATA_PROP { | |
466 | SerialNumber: [::c_uchar; 8], | |
467 | CertIndex: ::c_int, | |
468 | CertLabel: [::c_uchar; 36], | |
469 | }} | |
470 | STRUCT!{nodebug struct CRYPT_RC4_KEY_STATE { | |
471 | Key: [::c_uchar; 16], | |
472 | SBox: [::c_uchar; 256], | |
473 | i: ::c_uchar, | |
474 | j: ::c_uchar, | |
475 | }} | |
476 | pub type PCRYPT_RC4_KEY_STATE = *mut CRYPT_RC4_KEY_STATE; | |
477 | STRUCT!{struct CRYPT_DES_KEY_STATE { | |
478 | Key: [::c_uchar; 8], | |
479 | IV: [::c_uchar; 8], | |
480 | Feedback: [::c_uchar; 8], | |
481 | }} | |
482 | pub type PCRYPT_DES_KEY_STATE = *mut CRYPT_DES_KEY_STATE; | |
483 | STRUCT!{struct CRYPT_3DES_KEY_STATE { | |
484 | Key: [::c_uchar; 24], | |
485 | IV: [::c_uchar; 8], | |
486 | Feedback: [::c_uchar; 8], | |
487 | }} | |
488 | pub type PCRYPT_3DES_KEY_STATE = *mut CRYPT_3DES_KEY_STATE; | |
489 | STRUCT!{struct CRYPT_AES_128_KEY_STATE { | |
490 | Key: [::c_uchar; 16], | |
491 | IV: [::c_uchar; 16], | |
492 | EncryptionState: [[::c_uchar; 16]; 11], | |
493 | DecryptionState: [[::c_uchar; 16]; 11], | |
494 | Feedback: [::c_uchar; 16], | |
495 | }} | |
496 | pub type PCRYPT_AES_128_KEY_STATE = *mut CRYPT_AES_128_KEY_STATE; | |
497 | STRUCT!{struct CRYPT_AES_256_KEY_STATE { | |
498 | Key: [::c_uchar; 32], | |
499 | IV: [::c_uchar; 16], | |
500 | EncryptionState: [[::c_uchar; 16]; 15], | |
501 | DecryptionState: [[::c_uchar; 16]; 15], | |
502 | Feedback: [::c_uchar; 16], | |
503 | }} | |
504 | pub type PCRYPT_AES_256_KEY_STATE = *mut CRYPT_AES_256_KEY_STATE; | |
505 | STRUCT!{struct CRYPTOAPI_BLOB { | |
506 | cbData: ::DWORD, | |
507 | pbData: *mut ::BYTE, | |
508 | }} | |
509 | pub type CRYPT_INTEGER_BLOB = CRYPTOAPI_BLOB; | |
510 | pub type PCRYPT_INTEGER_BLOB = *mut CRYPTOAPI_BLOB; | |
511 | pub type CRYPT_UINT_BLOB = CRYPTOAPI_BLOB; | |
512 | pub type PCRYPT_UINT_BLOB = *mut CRYPTOAPI_BLOB; | |
513 | pub type CRYPT_OBJID_BLOB = CRYPTOAPI_BLOB; | |
514 | pub type PCRYPT_OBJID_BLOB = *mut CRYPTOAPI_BLOB; | |
515 | pub type CERT_NAME_BLOB = CRYPTOAPI_BLOB; | |
516 | pub type PCERT_NAME_BLOB = *mut CRYPTOAPI_BLOB; | |
517 | pub type CERT_RDN_VALUE_BLOB = CRYPTOAPI_BLOB; | |
518 | pub type PCERT_RDN_VALUE_BLOB = *mut CRYPTOAPI_BLOB; | |
519 | pub type CERT_BLOB = CRYPTOAPI_BLOB; | |
520 | pub type PCERT_BLOB = *mut CRYPTOAPI_BLOB; | |
521 | pub type CRL_BLOB = CRYPTOAPI_BLOB; | |
522 | pub type PCRL_BLOB = *mut CRYPTOAPI_BLOB; | |
523 | pub type DATA_BLOB = CRYPTOAPI_BLOB; | |
524 | pub type PDATA_BLOB = *mut CRYPTOAPI_BLOB; | |
525 | pub type CRYPT_DATA_BLOB = CRYPTOAPI_BLOB; | |
526 | pub type PCRYPT_DATA_BLOB = *mut CRYPTOAPI_BLOB; | |
527 | pub type CRYPT_HASH_BLOB = CRYPTOAPI_BLOB; | |
528 | pub type PCRYPT_HASH_BLOB = *mut CRYPTOAPI_BLOB; | |
529 | pub type CRYPT_DIGEST_BLOB = CRYPTOAPI_BLOB; | |
530 | pub type PCRYPT_DIGEST_BLOB = *mut CRYPTOAPI_BLOB; | |
531 | pub type CRYPT_DER_BLOB = CRYPTOAPI_BLOB; | |
532 | pub type PCRYPT_DER_BLOB = *mut CRYPTOAPI_BLOB; | |
533 | pub type CRYPT_ATTR_BLOB = CRYPTOAPI_BLOB; | |
534 | pub type PCRYPT_ATTR_BLOB = *mut CRYPTOAPI_BLOB; | |
535 | STRUCT!{struct CMS_DH_KEY_INFO { | |
536 | dwVersion: ::DWORD, | |
537 | Algid: ALG_ID, | |
538 | pszContentEncObjId: ::LPSTR, | |
539 | PubInfo: CRYPT_DATA_BLOB, | |
540 | pReserved: *mut ::c_void, | |
541 | }} | |
542 | pub type PCMS_DH_KEY_INFO = *mut CMS_DH_KEY_INFO; | |
543 | pub type HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = ::ULONG_PTR; | |
544 | pub type HCRYPTPROV_LEGACY = ::ULONG_PTR; | |
545 | STRUCT!{struct CRYPT_BIT_BLOB { | |
546 | cbData: ::DWORD, | |
547 | pbData: *mut ::BYTE, | |
548 | cUnusedBits: ::DWORD, | |
549 | }} | |
550 | pub type PCRYPT_BIT_BLOB = *mut CRYPT_BIT_BLOB; | |
551 | STRUCT!{struct CRYPT_ALGORITHM_IDENTIFIER { | |
552 | pszObjId: ::LPSTR, | |
553 | Parameters: CRYPT_OBJID_BLOB, | |
554 | }} | |
555 | pub type PCRYPT_ALGORITHM_IDENTIFIER = *mut CRYPT_ALGORITHM_IDENTIFIER; | |
556 | pub const szOID_RSA: &'static str = "1.2.840.113549"; | |
557 | pub const szOID_PKCS: &'static str = "1.2.840.113549.1"; | |
558 | pub const szOID_RSA_HASH: &'static str = "1.2.840.113549.2"; | |
559 | pub const szOID_RSA_ENCRYPT: &'static str = "1.2.840.113549.3"; | |
560 | pub const szOID_PKCS_1: &'static str = "1.2.840.113549.1.1"; | |
561 | pub const szOID_PKCS_2: &'static str = "1.2.840.113549.1.2"; | |
562 | pub const szOID_PKCS_3: &'static str = "1.2.840.113549.1.3"; | |
563 | pub const szOID_PKCS_4: &'static str = "1.2.840.113549.1.4"; | |
564 | pub const szOID_PKCS_5: &'static str = "1.2.840.113549.1.5"; | |
565 | pub const szOID_PKCS_6: &'static str = "1.2.840.113549.1.6"; | |
566 | pub const szOID_PKCS_7: &'static str = "1.2.840.113549.1.7"; | |
567 | pub const szOID_PKCS_8: &'static str = "1.2.840.113549.1.8"; | |
568 | pub const szOID_PKCS_9: &'static str = "1.2.840.113549.1.9"; | |
569 | pub const szOID_PKCS_10: &'static str = "1.2.840.113549.1.10"; | |
570 | pub const szOID_PKCS_12: &'static str = "1.2.840.113549.1.12"; | |
571 | pub const szOID_RSA_RSA: &'static str = "1.2.840.113549.1.1.1"; | |
572 | pub const szOID_RSA_MD2RSA: &'static str = "1.2.840.113549.1.1.2"; | |
573 | pub const szOID_RSA_MD4RSA: &'static str = "1.2.840.113549.1.1.3"; | |
574 | pub const szOID_RSA_MD5RSA: &'static str = "1.2.840.113549.1.1.4"; | |
575 | pub const szOID_RSA_SHA1RSA: &'static str = "1.2.840.113549.1.1.5"; | |
576 | pub const szOID_RSA_SETOAEP_RSA: &'static str = "1.2.840.113549.1.1.6"; | |
577 | pub const szOID_RSAES_OAEP: &'static str = "1.2.840.113549.1.1.7"; | |
578 | pub const szOID_RSA_MGF1: &'static str = "1.2.840.113549.1.1.8"; | |
579 | pub const szOID_RSA_PSPECIFIED: &'static str = "1.2.840.113549.1.1.9"; | |
580 | pub const szOID_RSA_SSA_PSS: &'static str = "1.2.840.113549.1.1.10"; | |
581 | pub const szOID_RSA_SHA256RSA: &'static str = "1.2.840.113549.1.1.11"; | |
582 | pub const szOID_RSA_SHA384RSA: &'static str = "1.2.840.113549.1.1.12"; | |
583 | pub const szOID_RSA_SHA512RSA: &'static str = "1.2.840.113549.1.1.13"; | |
584 | pub const szOID_RSA_DH: &'static str = "1.2.840.113549.1.3.1"; | |
585 | pub const szOID_RSA_data: &'static str = "1.2.840.113549.1.7.1"; | |
586 | pub const szOID_RSA_signedData: &'static str = "1.2.840.113549.1.7.2"; | |
587 | pub const szOID_RSA_envelopedData: &'static str = "1.2.840.113549.1.7.3"; | |
588 | pub const szOID_RSA_signEnvData: &'static str = "1.2.840.113549.1.7.4"; | |
589 | pub const szOID_RSA_digestedData: &'static str = "1.2.840.113549.1.7.5"; | |
590 | pub const szOID_RSA_hashedData: &'static str = "1.2.840.113549.1.7.5"; | |
591 | pub const szOID_RSA_encryptedData: &'static str = "1.2.840.113549.1.7.6"; | |
592 | pub const szOID_RSA_emailAddr: &'static str = "1.2.840.113549.1.9.1"; | |
593 | pub const szOID_RSA_unstructName: &'static str = "1.2.840.113549.1.9.2"; | |
594 | pub const szOID_RSA_contentType: &'static str = "1.2.840.113549.1.9.3"; | |
595 | pub const szOID_RSA_messageDigest: &'static str = "1.2.840.113549.1.9.4"; | |
596 | pub const szOID_RSA_signingTime: &'static str = "1.2.840.113549.1.9.5"; | |
597 | pub const szOID_RSA_counterSign: &'static str = "1.2.840.113549.1.9.6"; | |
598 | pub const szOID_RSA_challengePwd: &'static str = "1.2.840.113549.1.9.7"; | |
599 | pub const szOID_RSA_unstructAddr: &'static str = "1.2.840.113549.1.9.8"; | |
600 | pub const szOID_RSA_extCertAttrs: &'static str = "1.2.840.113549.1.9.9"; | |
601 | pub const szOID_RSA_certExtensions: &'static str = "1.2.840.113549.1.9.14"; | |
602 | pub const szOID_RSA_SMIMECapabilities: &'static str = "1.2.840.113549.1.9.15"; | |
603 | pub const szOID_RSA_preferSignedData: &'static str = "1.2.840.113549.1.9.15.1"; | |
604 | pub const szOID_TIMESTAMP_TOKEN: &'static str = "1.2.840.113549.1.9.16.1.4"; | |
605 | pub const szOID_RFC3161_counterSign: &'static str = "1.3.6.1.4.1.311.3.3.1"; | |
606 | pub const szOID_RSA_SMIMEalg: &'static str = "1.2.840.113549.1.9.16.3"; | |
607 | pub const szOID_RSA_SMIMEalgESDH: &'static str = "1.2.840.113549.1.9.16.3.5"; | |
608 | pub const szOID_RSA_SMIMEalgCMS3DESwrap: &'static str = "1.2.840.113549.1.9.16.3.6"; | |
609 | pub const szOID_RSA_SMIMEalgCMSRC2wrap: &'static str = "1.2.840.113549.1.9.16.3.7"; | |
610 | pub const szOID_RSA_MD2: &'static str = "1.2.840.113549.2.2"; | |
611 | pub const szOID_RSA_MD4: &'static str = "1.2.840.113549.2.4"; | |
612 | pub const szOID_RSA_MD5: &'static str = "1.2.840.113549.2.5"; | |
613 | pub const szOID_RSA_RC2CBC: &'static str = "1.2.840.113549.3.2"; | |
614 | pub const szOID_RSA_RC4: &'static str = "1.2.840.113549.3.4"; | |
615 | pub const szOID_RSA_DES_EDE3_CBC: &'static str = "1.2.840.113549.3.7"; | |
616 | pub const szOID_RSA_RC5_CBCPad: &'static str = "1.2.840.113549.3.9"; | |
617 | pub const szOID_ANSI_X942: &'static str = "1.2.840.10046"; | |
618 | pub const szOID_ANSI_X942_DH: &'static str = "1.2.840.10046.2.1"; | |
619 | pub const szOID_X957: &'static str = "1.2.840.10040"; | |
620 | pub const szOID_X957_DSA: &'static str = "1.2.840.10040.4.1"; | |
621 | pub const szOID_X957_SHA1DSA: &'static str = "1.2.840.10040.4.3"; | |
622 | pub const szOID_ECC_PUBLIC_KEY: &'static str = "1.2.840.10045.2.1"; | |
623 | pub const szOID_ECC_CURVE_P256: &'static str = "1.2.840.10045.3.1.7"; | |
624 | pub const szOID_ECC_CURVE_P384: &'static str = "1.3.132.0.34"; | |
625 | pub const szOID_ECC_CURVE_P521: &'static str = "1.3.132.0.35"; | |
626 | pub const szOID_ECDSA_SHA1: &'static str = "1.2.840.10045.4.1"; | |
627 | pub const szOID_ECDSA_SPECIFIED: &'static str = "1.2.840.10045.4.3"; | |
628 | pub const szOID_ECDSA_SHA256: &'static str = "1.2.840.10045.4.3.2"; | |
629 | pub const szOID_ECDSA_SHA384: &'static str = "1.2.840.10045.4.3.3"; | |
630 | pub const szOID_ECDSA_SHA512: &'static str = "1.2.840.10045.4.3.4"; | |
631 | pub const szOID_NIST_AES128_CBC: &'static str = "2.16.840.1.101.3.4.1.2"; | |
632 | pub const szOID_NIST_AES192_CBC: &'static str = "2.16.840.1.101.3.4.1.22"; | |
633 | pub const szOID_NIST_AES256_CBC: &'static str = "2.16.840.1.101.3.4.1.42"; | |
634 | pub const szOID_NIST_AES128_WRAP: &'static str = "2.16.840.1.101.3.4.1.5"; | |
635 | pub const szOID_NIST_AES192_WRAP: &'static str = "2.16.840.1.101.3.4.1.25"; | |
636 | pub const szOID_NIST_AES256_WRAP: &'static str = "2.16.840.1.101.3.4.1.45"; | |
637 | pub const szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF: &'static str = "1.3.133.16.840.63.0.2"; | |
638 | pub const szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF: &'static str = "1.3.132.1.11.1"; | |
639 | pub const szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF: &'static str = "1.3.132.1.11.2"; | |
640 | pub const szOID_DS: &'static str = "2.5"; | |
641 | pub const szOID_DSALG: &'static str = "2.5.8"; | |
642 | pub const szOID_DSALG_CRPT: &'static str = "2.5.8.1"; | |
643 | pub const szOID_DSALG_HASH: &'static str = "2.5.8.2"; | |
644 | pub const szOID_DSALG_SIGN: &'static str = "2.5.8.3"; | |
645 | pub const szOID_DSALG_RSA: &'static str = "2.5.8.1.1"; | |
646 | pub const szOID_OIW: &'static str = "1.3.14"; | |
647 | pub const szOID_OIWSEC: &'static str = "1.3.14.3.2"; | |
648 | pub const szOID_OIWSEC_md4RSA: &'static str = "1.3.14.3.2.2"; | |
649 | pub const szOID_OIWSEC_md5RSA: &'static str = "1.3.14.3.2.3"; | |
650 | pub const szOID_OIWSEC_md4RSA2: &'static str = "1.3.14.3.2.4"; | |
651 | pub const szOID_OIWSEC_desECB: &'static str = "1.3.14.3.2.6"; | |
652 | pub const szOID_OIWSEC_desCBC: &'static str = "1.3.14.3.2.7"; | |
653 | pub const szOID_OIWSEC_desOFB: &'static str = "1.3.14.3.2.8"; | |
654 | pub const szOID_OIWSEC_desCFB: &'static str = "1.3.14.3.2.9"; | |
655 | pub const szOID_OIWSEC_desMAC: &'static str = "1.3.14.3.2.10"; | |
656 | pub const szOID_OIWSEC_rsaSign: &'static str = "1.3.14.3.2.11"; | |
657 | pub const szOID_OIWSEC_dsa: &'static str = "1.3.14.3.2.12"; | |
658 | pub const szOID_OIWSEC_shaDSA: &'static str = "1.3.14.3.2.13"; | |
659 | pub const szOID_OIWSEC_mdc2RSA: &'static str = "1.3.14.3.2.14"; | |
660 | pub const szOID_OIWSEC_shaRSA: &'static str = "1.3.14.3.2.15"; | |
661 | pub const szOID_OIWSEC_dhCommMod: &'static str = "1.3.14.3.2.16"; | |
662 | pub const szOID_OIWSEC_desEDE: &'static str = "1.3.14.3.2.17"; | |
663 | pub const szOID_OIWSEC_sha: &'static str = "1.3.14.3.2.18"; | |
664 | pub const szOID_OIWSEC_mdc2: &'static str = "1.3.14.3.2.19"; | |
665 | pub const szOID_OIWSEC_dsaComm: &'static str = "1.3.14.3.2.20"; | |
666 | pub const szOID_OIWSEC_dsaCommSHA: &'static str = "1.3.14.3.2.21"; | |
667 | pub const szOID_OIWSEC_rsaXchg: &'static str = "1.3.14.3.2.22"; | |
668 | pub const szOID_OIWSEC_keyHashSeal: &'static str = "1.3.14.3.2.23"; | |
669 | pub const szOID_OIWSEC_md2RSASign: &'static str = "1.3.14.3.2.24"; | |
670 | pub const szOID_OIWSEC_md5RSASign: &'static str = "1.3.14.3.2.25"; | |
671 | pub const szOID_OIWSEC_sha1: &'static str = "1.3.14.3.2.26"; | |
672 | pub const szOID_OIWSEC_dsaSHA1: &'static str = "1.3.14.3.2.27"; | |
673 | pub const szOID_OIWSEC_dsaCommSHA1: &'static str = "1.3.14.3.2.28"; | |
674 | pub const szOID_OIWSEC_sha1RSASign: &'static str = "1.3.14.3.2.29"; | |
675 | pub const szOID_OIWDIR: &'static str = "1.3.14.7.2"; | |
676 | pub const szOID_OIWDIR_CRPT: &'static str = "1.3.14.7.2.1"; | |
677 | pub const szOID_OIWDIR_HASH: &'static str = "1.3.14.7.2.2"; | |
678 | pub const szOID_OIWDIR_SIGN: &'static str = "1.3.14.7.2.3"; | |
679 | pub const szOID_OIWDIR_md2: &'static str = "1.3.14.7.2.2.1"; | |
680 | pub const szOID_OIWDIR_md2RSA: &'static str = "1.3.14.7.2.3.1"; | |
681 | pub const szOID_INFOSEC: &'static str = "2.16.840.1.101.2.1"; | |
682 | pub const szOID_INFOSEC_sdnsSignature: &'static str = "2.16.840.1.101.2.1.1.1"; | |
683 | pub const szOID_INFOSEC_mosaicSignature: &'static str = "2.16.840.1.101.2.1.1.2"; | |
684 | pub const szOID_INFOSEC_sdnsConfidentiality: &'static str = "2.16.840.1.101.2.1.1.3"; | |
685 | pub const szOID_INFOSEC_mosaicConfidentiality: &'static str = "2.16.840.1.101.2.1.1.4"; | |
686 | pub const szOID_INFOSEC_sdnsIntegrity: &'static str = "2.16.840.1.101.2.1.1.5"; | |
687 | pub const szOID_INFOSEC_mosaicIntegrity: &'static str = "2.16.840.1.101.2.1.1.6"; | |
688 | pub const szOID_INFOSEC_sdnsTokenProtection: &'static str = "2.16.840.1.101.2.1.1.7"; | |
689 | pub const szOID_INFOSEC_mosaicTokenProtection: &'static str = "2.16.840.1.101.2.1.1.8"; | |
690 | pub const szOID_INFOSEC_sdnsKeyManagement: &'static str = "2.16.840.1.101.2.1.1.9"; | |
691 | pub const szOID_INFOSEC_mosaicKeyManagement: &'static str = "2.16.840.1.101.2.1.1.10"; | |
692 | pub const szOID_INFOSEC_sdnsKMandSig: &'static str = "2.16.840.1.101.2.1.1.11"; | |
693 | pub const szOID_INFOSEC_mosaicKMandSig: &'static str = "2.16.840.1.101.2.1.1.12"; | |
694 | pub const szOID_INFOSEC_SuiteASignature: &'static str = "2.16.840.1.101.2.1.1.13"; | |
695 | pub const szOID_INFOSEC_SuiteAConfidentiality: &'static str = "2.16.840.1.101.2.1.1.14"; | |
696 | pub const szOID_INFOSEC_SuiteAIntegrity: &'static str = "2.16.840.1.101.2.1.1.15"; | |
697 | pub const szOID_INFOSEC_SuiteATokenProtection: &'static str = "2.16.840.1.101.2.1.1.16"; | |
698 | pub const szOID_INFOSEC_SuiteAKeyManagement: &'static str = "2.16.840.1.101.2.1.1.17"; | |
699 | pub const szOID_INFOSEC_SuiteAKMandSig: &'static str = "2.16.840.1.101.2.1.1.18"; | |
700 | pub const szOID_INFOSEC_mosaicUpdatedSig: &'static str = "2.16.840.1.101.2.1.1.19"; | |
701 | pub const szOID_INFOSEC_mosaicKMandUpdSig: &'static str = "2.16.840.1.101.2.1.1.20"; | |
702 | pub const szOID_INFOSEC_mosaicUpdatedInteg: &'static str = "2.16.840.1.101.2.1.1.21"; | |
703 | pub const szOID_NIST_sha256: &'static str = "2.16.840.1.101.3.4.2.1"; | |
704 | pub const szOID_NIST_sha384: &'static str = "2.16.840.1.101.3.4.2.2"; | |
705 | pub const szOID_NIST_sha512: &'static str = "2.16.840.1.101.3.4.2.3"; | |
706 | STRUCT!{struct CRYPT_OBJID_TABLE { | |
707 | dwAlgId: ::DWORD, | |
708 | pszObjId: ::LPCSTR, | |
709 | }} | |
710 | pub type PCRYPT_OBJID_TABLE = *mut CRYPT_OBJID_TABLE; | |
711 | STRUCT!{struct CRYPT_HASH_INFO { | |
712 | HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
713 | Hash: CRYPT_HASH_BLOB, | |
714 | }} | |
715 | pub type PCRYPT_HASH_INFO = *mut CRYPT_HASH_INFO; | |
716 | STRUCT!{struct CERT_EXTENSION { | |
717 | pszObjId: ::LPSTR, | |
718 | fCritical: ::BOOL, | |
719 | Value: CRYPT_OBJID_BLOB, | |
720 | }} | |
721 | pub type PCERT_EXTENSION = *mut CERT_EXTENSION; | |
722 | pub type PCCERT_EXTENSION = *const CERT_EXTENSION; | |
723 | STRUCT!{struct CRYPT_ATTRIBUTE_TYPE_VALUE { | |
724 | pszObjId: ::LPSTR, | |
725 | Value: CRYPT_OBJID_BLOB, | |
726 | }} | |
727 | pub type PCRYPT_ATTRIBUTE_TYPE_VALUE = *mut CRYPT_ATTRIBUTE_TYPE_VALUE; | |
728 | STRUCT!{struct CRYPT_ATTRIBUTE { | |
729 | pszObjId: ::LPSTR, | |
730 | cValue: ::DWORD, | |
731 | rgValue: PCRYPT_ATTR_BLOB, | |
732 | }} | |
733 | pub type PCRYPT_ATTRIBUTE = *mut CRYPT_ATTRIBUTE; | |
734 | STRUCT!{struct CRYPT_ATTRIBUTES { | |
735 | cAttr: ::DWORD, | |
736 | rgAttr: PCRYPT_ATTRIBUTE, | |
737 | }} | |
738 | pub type PCRYPT_ATTRIBUTES = *mut CRYPT_ATTRIBUTES; | |
739 | STRUCT!{struct CERT_RDN_ATTR { | |
740 | pszObjId: ::LPSTR, | |
741 | dwValueType: ::DWORD, | |
742 | Value: CERT_RDN_VALUE_BLOB, | |
743 | }} | |
744 | pub type PCERT_RDN_ATTR = *mut CERT_RDN_ATTR; | |
745 | pub const szOID_COMMON_NAME: &'static str = "2.5.4.3"; | |
746 | pub const szOID_SUR_NAME: &'static str = "2.5.4.4"; | |
747 | pub const szOID_DEVICE_SERIAL_NUMBER: &'static str = "2.5.4.5"; | |
748 | pub const szOID_COUNTRY_NAME: &'static str = "2.5.4.6"; | |
749 | pub const szOID_LOCALITY_NAME: &'static str = "2.5.4.7"; | |
750 | pub const szOID_STATE_OR_PROVINCE_NAME: &'static str = "2.5.4.8"; | |
751 | pub const szOID_STREET_ADDRESS: &'static str = "2.5.4.9"; | |
752 | pub const szOID_ORGANIZATION_NAME: &'static str = "2.5.4.10"; | |
753 | pub const szOID_ORGANIZATIONAL_UNIT_NAME: &'static str = "2.5.4.11"; | |
754 | pub const szOID_TITLE: &'static str = "2.5.4.12"; | |
755 | pub const szOID_DESCRIPTION: &'static str = "2.5.4.13"; | |
756 | pub const szOID_SEARCH_GUIDE: &'static str = "2.5.4.14"; | |
757 | pub const szOID_BUSINESS_CATEGORY: &'static str = "2.5.4.15"; | |
758 | pub const szOID_POSTAL_ADDRESS: &'static str = "2.5.4.16"; | |
759 | pub const szOID_POSTAL_CODE: &'static str = "2.5.4.17"; | |
760 | pub const szOID_POST_OFFICE_BOX: &'static str = "2.5.4.18"; | |
761 | pub const szOID_PHYSICAL_DELIVERY_OFFICE_NAME: &'static str = "2.5.4.19"; | |
762 | pub const szOID_TELEPHONE_NUMBER: &'static str = "2.5.4.20"; | |
763 | pub const szOID_TELEX_NUMBER: &'static str = "2.5.4.21"; | |
764 | pub const szOID_TELETEXT_TERMINAL_IDENTIFIER: &'static str = "2.5.4.22"; | |
765 | pub const szOID_FACSIMILE_TELEPHONE_NUMBER: &'static str = "2.5.4.23"; | |
766 | pub const szOID_X21_ADDRESS: &'static str = "2.5.4.24"; | |
767 | pub const szOID_INTERNATIONAL_ISDN_NUMBER: &'static str = "2.5.4.25"; | |
768 | pub const szOID_REGISTERED_ADDRESS: &'static str = "2.5.4.26"; | |
769 | pub const szOID_DESTINATION_INDICATOR: &'static str = "2.5.4.27"; | |
770 | pub const szOID_PREFERRED_DELIVERY_METHOD: &'static str = "2.5.4.28"; | |
771 | pub const szOID_PRESENTATION_ADDRESS: &'static str = "2.5.4.29"; | |
772 | pub const szOID_SUPPORTED_APPLICATION_CONTEXT: &'static str = "2.5.4.30"; | |
773 | pub const szOID_MEMBER: &'static str = "2.5.4.31"; | |
774 | pub const szOID_OWNER: &'static str = "2.5.4.32"; | |
775 | pub const szOID_ROLE_OCCUPANT: &'static str = "2.5.4.33"; | |
776 | pub const szOID_SEE_ALSO: &'static str = "2.5.4.34"; | |
777 | pub const szOID_USER_PASSWORD: &'static str = "2.5.4.35"; | |
778 | pub const szOID_USER_CERTIFICATE: &'static str = "2.5.4.36"; | |
779 | pub const szOID_CA_CERTIFICATE: &'static str = "2.5.4.37"; | |
780 | pub const szOID_AUTHORITY_REVOCATION_LIST: &'static str = "2.5.4.38"; | |
781 | pub const szOID_CERTIFICATE_REVOCATION_LIST: &'static str = "2.5.4.39"; | |
782 | pub const szOID_CROSS_CERTIFICATE_PAIR: &'static str = "2.5.4.40"; | |
783 | pub const szOID_GIVEN_NAME: &'static str = "2.5.4.42"; | |
784 | pub const szOID_INITIALS: &'static str = "2.5.4.43"; | |
785 | pub const szOID_DN_QUALIFIER: &'static str = "2.5.4.46"; | |
786 | pub const szOID_DOMAIN_COMPONENT: &'static str = "0.9.2342.19200300.100.1.25"; | |
787 | pub const szOID_PKCS_12_FRIENDLY_NAME_ATTR: &'static str = "1.2.840.113549.1.9.20"; | |
788 | pub const szOID_PKCS_12_LOCAL_KEY_ID: &'static str = "1.2.840.113549.1.9.21"; | |
789 | pub const szOID_PKCS_12_KEY_PROVIDER_NAME_ATTR: &'static str = "1.3.6.1.4.1.311.17.1"; | |
790 | pub const szOID_LOCAL_MACHINE_KEYSET: &'static str = "1.3.6.1.4.1.311.17.2"; | |
791 | pub const szOID_PKCS_12_EXTENDED_ATTRIBUTES: &'static str = "1.3.6.1.4.1.311.17.3"; | |
792 | pub const szOID_PKCS_12_PROTECTED_PASSWORD_SECRET_BAG_TYPE_ID: &'static str = | |
793 | "1.3.6.1.4.1.311.17.4"; | |
794 | pub const szOID_KEYID_RDN: &'static str = "1.3.6.1.4.1.311.10.7.1"; | |
795 | pub const szOID_EV_RDN_LOCALE: &'static str = "1.3.6.1.4.1.311.60.2.1.1"; | |
796 | pub const szOID_EV_RDN_STATE_OR_PROVINCE: &'static str = "1.3.6.1.4.1.311.60.2.1.2"; | |
797 | pub const szOID_EV_RDN_COUNTRY: &'static str = "1.3.6.1.4.1.311.60.2.1.3"; | |
798 | pub const CERT_RDN_ANY_TYPE: ::DWORD = 0; | |
799 | pub const CERT_RDN_ENCODED_BLOB: ::DWORD = 1; | |
800 | pub const CERT_RDN_OCTET_STRING: ::DWORD = 2; | |
801 | pub const CERT_RDN_NUMERIC_STRING: ::DWORD = 3; | |
802 | pub const CERT_RDN_PRINTABLE_STRING: ::DWORD = 4; | |
803 | pub const CERT_RDN_TELETEX_STRING: ::DWORD = 5; | |
804 | pub const CERT_RDN_T61_STRING: ::DWORD = 5; | |
805 | pub const CERT_RDN_VIDEOTEX_STRING: ::DWORD = 6; | |
806 | pub const CERT_RDN_IA5_STRING: ::DWORD = 7; | |
807 | pub const CERT_RDN_GRAPHIC_STRING: ::DWORD = 8; | |
808 | pub const CERT_RDN_VISIBLE_STRING: ::DWORD = 9; | |
809 | pub const CERT_RDN_ISO646_STRING: ::DWORD = 9; | |
810 | pub const CERT_RDN_GENERAL_STRING: ::DWORD = 10; | |
811 | pub const CERT_RDN_UNIVERSAL_STRING: ::DWORD = 11; | |
812 | pub const CERT_RDN_INT4_STRING: ::DWORD = 11; | |
813 | pub const CERT_RDN_BMP_STRING: ::DWORD = 12; | |
814 | pub const CERT_RDN_UNICODE_STRING: ::DWORD = 12; | |
815 | pub const CERT_RDN_UTF8_STRING: ::DWORD = 13; | |
816 | pub const CERT_RDN_TYPE_MASK: ::DWORD = 0x000000FF; | |
817 | pub const CERT_RDN_FLAGS_MASK: ::DWORD = 0xFF000000; | |
818 | pub const CERT_RDN_ENABLE_T61_UNICODE_FLAG: ::DWORD = 0x80000000; | |
819 | pub const CERT_RDN_ENABLE_UTF8_UNICODE_FLAG: ::DWORD = 0x20000000; | |
820 | pub const CERT_RDN_FORCE_UTF8_UNICODE_FLAG: ::DWORD = 0x10000000; | |
821 | pub const CERT_RDN_DISABLE_CHECK_TYPE_FLAG: ::DWORD = 0x40000000; | |
822 | pub const CERT_RDN_DISABLE_IE4_UTF8_FLAG: ::DWORD = 0x01000000; | |
823 | pub const CERT_RDN_ENABLE_PUNYCODE_FLAG: ::DWORD = 0x02000000; | |
824 | STRUCT!{struct CERT_RDN { | |
825 | cRDNAttr: ::DWORD, | |
826 | rgRDNAttr: PCERT_RDN_ATTR, | |
827 | }} | |
828 | pub type PCERT_RDN = *mut CERT_RDN; | |
829 | STRUCT!{struct CERT_NAME_INFO { | |
830 | cRDN: ::DWORD, | |
831 | rgRDN: PCERT_RDN, | |
832 | }} | |
833 | pub type PCERT_NAME_INFO = *mut CERT_NAME_INFO; | |
834 | STRUCT!{struct CERT_NAME_VALUE { | |
835 | dwValueType: ::DWORD, | |
836 | Value: CERT_RDN_VALUE_BLOB, | |
837 | }} | |
838 | pub type PCERT_NAME_VALUE = *mut CERT_NAME_VALUE; | |
839 | STRUCT!{struct CERT_PUBLIC_KEY_INFO { | |
840 | Algorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
841 | PublicKey: CRYPT_BIT_BLOB, | |
842 | }} | |
843 | pub type PCERT_PUBLIC_KEY_INFO = *mut CERT_PUBLIC_KEY_INFO; | |
844 | pub const CERT_RSA_PUBLIC_KEY_OBJID: &'static str = szOID_RSA_RSA; | |
845 | pub const CERT_DEFAULT_OID_PUBLIC_KEY_SIGN: &'static str = szOID_RSA_RSA; | |
846 | pub const CERT_DEFAULT_OID_PUBLIC_KEY_XCHG: &'static str = szOID_RSA_RSA; | |
847 | STRUCT!{struct CRYPT_ECC_PRIVATE_KEY_INFO { | |
848 | dwVersion: ::DWORD, | |
849 | PrivateKey: CRYPT_DER_BLOB, | |
850 | szCurveOid: ::LPSTR, | |
851 | PublicKey: CRYPT_BIT_BLOB, | |
852 | }} | |
853 | pub type PCRYPT_ECC_PRIVATE_KEY_INFO = *mut CRYPT_ECC_PRIVATE_KEY_INFO; | |
854 | pub const CRYPT_ECC_PRIVATE_KEY_INFO_v1: ::DWORD = 1; | |
855 | STRUCT!{struct CRYPT_PRIVATE_KEY_INFO { | |
856 | Version: ::DWORD, | |
857 | Algorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
858 | PrivateKey: CRYPT_DER_BLOB, | |
859 | pAttributes: PCRYPT_ATTRIBUTES, | |
860 | }} | |
861 | pub type PCRYPT_PRIVATE_KEY_INFO = *mut CRYPT_PRIVATE_KEY_INFO; | |
862 | STRUCT!{struct CRYPT_ENCRYPTED_PRIVATE_KEY_INFO { | |
863 | EncryptionAlgorithm: ::CRYPT_ALGORITHM_IDENTIFIER, | |
864 | EncryptedPrivateKey: ::CRYPT_DATA_BLOB, | |
865 | }} | |
866 | pub type PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO = *mut CRYPT_ENCRYPTED_PRIVATE_KEY_INFO; | |
867 | pub type PCRYPT_DECRYPT_PRIVATE_KEY_FUNC = Option<unsafe extern "system" fn( | |
868 | Algorithm: CRYPT_ALGORITHM_IDENTIFIER, EncryptedPrivateKey: CRYPT_DATA_BLOB, | |
869 | pbClearTextKey: *mut ::BYTE, pcbClearTextKey: *mut ::DWORD, pVoidDecryptFunc: ::LPVOID, | |
870 | ) -> ::BOOL>; | |
871 | pub type PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC = Option<unsafe extern "system" fn( | |
872 | Algorithm: *mut CRYPT_ALGORITHM_IDENTIFIER, pClearTextPrivateKey: *mut CRYPT_DATA_BLOB, | |
873 | pbEncryptedKey: *mut ::BYTE, pcbEncryptedKey: *mut ::DWORD, pVoidEncryptFunc: ::LPVOID, | |
874 | ) -> ::BOOL>; | |
875 | pub type PCRYPT_RESOLVE_HCRYPTPROV_FUNC = Option<unsafe extern "system" fn( | |
876 | pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, phCryptProv: *mut HCRYPTPROV, | |
877 | pVoidResolveFunc: ::LPVOID, | |
878 | ) -> ::BOOL>; | |
879 | STRUCT!{nodebug struct CRYPT_PKCS8_IMPORT_PARAMS { | |
880 | PrivateKey: CRYPT_DIGEST_BLOB, | |
881 | pResolvehCryptProvFunc: PCRYPT_RESOLVE_HCRYPTPROV_FUNC, | |
882 | pVoidResolveFunc: ::LPVOID, | |
883 | pDecryptPrivateKeyFunc: PCRYPT_DECRYPT_PRIVATE_KEY_FUNC, | |
884 | pVoidDecryptFunc: ::LPVOID, | |
885 | }} | |
886 | pub type PCRYPT_PKCS8_IMPORT_PARAMS = *mut CRYPT_PKCS8_IMPORT_PARAMS; | |
887 | pub type CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = CRYPT_PKCS8_IMPORT_PARAMS; | |
888 | pub type PPCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = *mut CRYPT_PKCS8_IMPORT_PARAMS; | |
889 | STRUCT!{nodebug struct CRYPT_PKCS8_EXPORT_PARAMS { | |
890 | hCryptProv: HCRYPTPROV, | |
891 | dwKeySpec: ::DWORD, | |
892 | pszPrivateKeyObjId: ::LPSTR, | |
893 | pEncryptPrivateKeyFunc: PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC, | |
894 | pVoidEncryptFunc: ::LPVOID, | |
895 | }} | |
896 | pub type PCRYPT_PKCS8_EXPORT_PARAMS = *mut CRYPT_PKCS8_EXPORT_PARAMS; | |
897 | STRUCT!{struct CERT_INFO { | |
898 | dwVersion: ::DWORD, | |
899 | SerialNumber: CRYPT_INTEGER_BLOB, | |
900 | SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
901 | Issuer: CERT_NAME_BLOB, | |
902 | NotBefore: ::FILETIME, | |
903 | NotAfter: ::FILETIME, | |
904 | Subject: CERT_NAME_BLOB, | |
905 | SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, | |
906 | IssuerUniqueId: CRYPT_BIT_BLOB, | |
907 | SubjectUniqueId: CRYPT_BIT_BLOB, | |
908 | cExtension: ::DWORD, | |
909 | rgExtension: PCERT_EXTENSION, | |
910 | }} | |
911 | pub type PCERT_INFO = *mut CERT_INFO; | |
912 | pub const CERT_V1: ::DWORD = 0; | |
913 | pub const CERT_V2: ::DWORD = 1; | |
914 | pub const CERT_V3: ::DWORD = 2; | |
915 | pub const CERT_INFO_VERSION_FLAG: ::DWORD = 1; | |
916 | pub const CERT_INFO_SERIAL_NUMBER_FLAG: ::DWORD = 2; | |
917 | pub const CERT_INFO_SIGNATURE_ALGORITHM_FLAG: ::DWORD = 3; | |
918 | pub const CERT_INFO_ISSUER_FLAG: ::DWORD = 4; | |
919 | pub const CERT_INFO_NOT_BEFORE_FLAG: ::DWORD = 5; | |
920 | pub const CERT_INFO_NOT_AFTER_FLAG: ::DWORD = 6; | |
921 | pub const CERT_INFO_SUBJECT_FLAG: ::DWORD = 7; | |
922 | pub const CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG: ::DWORD = 8; | |
923 | pub const CERT_INFO_ISSUER_UNIQUE_ID_FLAG: ::DWORD = 9; | |
924 | pub const CERT_INFO_SUBJECT_UNIQUE_ID_FLAG: ::DWORD = 10; | |
925 | pub const CERT_INFO_EXTENSION_FLAG: ::DWORD = 11; | |
926 | STRUCT!{struct CRL_ENTRY { | |
927 | SerialNumber: CRYPT_INTEGER_BLOB, | |
928 | RevocationDate: ::FILETIME, | |
929 | cExtension: ::DWORD, | |
930 | rgExtension: PCERT_EXTENSION, | |
931 | }} | |
932 | pub type PCRL_ENTRY = *mut CRL_ENTRY; | |
933 | STRUCT!{struct CRL_INFO { | |
934 | dwVersion: ::DWORD, | |
935 | SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
936 | Issuer: CERT_NAME_BLOB, | |
937 | ThisUpdate: ::FILETIME, | |
938 | NextUpdate: ::FILETIME, | |
939 | cCRLEntry: ::DWORD, | |
940 | rgCRLEntry: PCRL_ENTRY, | |
941 | cExtension: ::DWORD, | |
942 | rgExtension: PCERT_EXTENSION, | |
943 | }} | |
944 | pub type PCRL_INFO = *mut CRL_INFO; | |
945 | pub const CRL_V1: ::DWORD = 0; | |
946 | pub const CRL_V2: ::DWORD = 1; | |
947 | pub const CERT_BUNDLE_CERTIFICATE: ::DWORD = 0; | |
948 | pub const CERT_BUNDLE_CRL: ::DWORD = 1; | |
949 | STRUCT!{struct CERT_OR_CRL_BLOB { | |
950 | dwChoice: ::DWORD, | |
951 | cbEncoded: ::DWORD, | |
952 | pbEncoded: *mut ::BYTE, | |
953 | }} | |
954 | pub type PCERT_OR_CRL_BLOB = *mut CERT_OR_CRL_BLOB; | |
955 | STRUCT!{struct CERT_OR_CRL_BUNDLE { | |
956 | cItem: ::DWORD, | |
957 | rgItem: PCERT_OR_CRL_BLOB, | |
958 | }} | |
959 | pub type PCERT_OR_CRL_BUNDLE = *mut CERT_OR_CRL_BUNDLE; | |
960 | STRUCT!{struct CERT_REQUEST_INFO { | |
961 | dwVersion: ::DWORD, | |
962 | Subject: CERT_NAME_BLOB, | |
963 | SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, | |
964 | cAttribute: ::DWORD, | |
965 | rgAttribute: PCRYPT_ATTRIBUTE, | |
966 | }} | |
967 | pub type PCERT_REQUEST_INFO = *mut CERT_REQUEST_INFO; | |
968 | pub const CERT_REQUEST_V1: ::DWORD = 0; | |
969 | STRUCT!{struct CERT_KEYGEN_REQUEST_INFO { | |
970 | dwVersion: ::DWORD, | |
971 | SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, | |
972 | pwszChallengeString: ::LPWSTR, | |
973 | }} | |
974 | pub type PCERT_KEYGEN_REQUEST_INFO = *mut CERT_KEYGEN_REQUEST_INFO; | |
975 | pub const CERT_KEYGEN_REQUEST_V1: ::DWORD = 0; | |
976 | STRUCT!{struct CERT_SIGNED_CONTENT_INFO { | |
977 | ToBeSigned: CRYPT_DER_BLOB, | |
978 | SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
979 | Signature: CRYPT_BIT_BLOB, | |
980 | }} | |
981 | pub type PCERT_SIGNED_CONTENT_INFO = *mut CERT_SIGNED_CONTENT_INFO; | |
982 | STRUCT!{struct CTL_USAGE { | |
983 | cUsageIdentifier: ::DWORD, | |
984 | rgpszUsageIdentifier: *mut ::LPSTR, | |
985 | }} | |
986 | pub type PCTL_USAGE = *mut CTL_USAGE; | |
987 | pub type CERT_ENHKEY_USAGE = CTL_USAGE; | |
988 | pub type PCERT_ENHKEY_USAGE = *mut CERT_ENHKEY_USAGE; | |
989 | pub type PCCTL_USAGE = *const CTL_USAGE; | |
990 | pub type PCCERT_ENHKEY_USAGE = *const CERT_ENHKEY_USAGE; | |
991 | STRUCT!{struct CTL_ENTRY { | |
992 | SubjectIdentifier: CRYPT_DATA_BLOB, | |
993 | cAttribute: ::DWORD, | |
994 | rgAttribute: PCRYPT_ATTRIBUTE, | |
995 | }} | |
996 | pub type PCTL_ENTRY = *mut CTL_ENTRY; | |
997 | STRUCT!{struct CTL_INFO { | |
998 | dwVersion: ::DWORD, | |
999 | SubjectUsage: CTL_USAGE, | |
1000 | ListIdentifier: CRYPT_DATA_BLOB, | |
1001 | SequenceNumber: CRYPT_INTEGER_BLOB, | |
1002 | ThisUpdate: ::FILETIME, | |
1003 | NextUpdate: ::FILETIME, | |
1004 | SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
1005 | cCTLEntry: ::DWORD, | |
1006 | rgCTLEntry: PCTL_ENTRY, | |
1007 | cExtension: ::DWORD, | |
1008 | rgExtension: PCERT_EXTENSION, | |
1009 | }} | |
1010 | pub type PCTL_INFO = *mut CTL_INFO; | |
1011 | pub const CTL_V1: ::DWORD = 0; | |
1012 | STRUCT!{struct CRYPT_TIME_STAMP_REQUEST_INFO { | |
1013 | pszTimeStampAlgorithm: ::LPSTR, | |
1014 | pszContentType: ::LPSTR, | |
1015 | Content: CRYPT_OBJID_BLOB, | |
1016 | cAttribute: ::DWORD, | |
1017 | rgAttribute: PCRYPT_ATTRIBUTE, | |
1018 | }} | |
1019 | pub type PCRYPT_TIME_STAMP_REQUEST_INFO = *mut CRYPT_TIME_STAMP_REQUEST_INFO; | |
1020 | STRUCT!{struct CRYPT_ENROLLMENT_NAME_VALUE_PAIR { | |
1021 | pwszName: ::LPWSTR, | |
1022 | pwszValue: ::LPWSTR, | |
1023 | }} | |
1024 | pub type PCRYPT_ENROLLMENT_NAME_VALUE_PAIR = *mut CRYPT_ENROLLMENT_NAME_VALUE_PAIR; | |
1025 | STRUCT!{struct CRYPT_CSP_PROVIDER { | |
1026 | dwKeySpec: ::DWORD, | |
1027 | pwszProviderName: ::LPWSTR, | |
1028 | Signature: CRYPT_BIT_BLOB, | |
1029 | }} | |
1030 | pub type PCRYPT_CSP_PROVIDER = *mut CRYPT_CSP_PROVIDER; | |
1031 | pub const CERT_ENCODING_TYPE_MASK: ::DWORD = 0x0000FFFF; | |
1032 | pub const CMSG_ENCODING_TYPE_MASK: ::DWORD = 0xFFFF0000; | |
1033 | pub const CRYPT_ASN_ENCODING: ::DWORD = 0x00000001; | |
1034 | pub const CRYPT_NDR_ENCODING: ::DWORD = 0x00000002; | |
1035 | pub const X509_ASN_ENCODING: ::DWORD = 0x00000001; | |
1036 | pub const X509_NDR_ENCODING: ::DWORD = 0x00000002; | |
1037 | pub const PKCS_7_ASN_ENCODING: ::DWORD = 0x00010000; | |
1038 | pub const PKCS_7_NDR_ENCODING: ::DWORD = 0x00020000; | |
1039 | pub const CRYPT_FORMAT_STR_MULTI_LINE: ::DWORD = 0x0001; | |
1040 | pub const CRYPT_FORMAT_STR_NO_HEX: ::DWORD = 0x0010; | |
1041 | pub const CRYPT_FORMAT_SIMPLE: ::DWORD = 0x0001; | |
1042 | pub const CRYPT_FORMAT_X509: ::DWORD = 0x0002; | |
1043 | pub const CRYPT_FORMAT_OID: ::DWORD = 0x0004; | |
1044 | pub const CRYPT_FORMAT_RDN_SEMICOLON: ::DWORD = 0x0100; | |
1045 | pub const CRYPT_FORMAT_RDN_CRLF: ::DWORD = 0x0200; | |
1046 | pub const CRYPT_FORMAT_RDN_UNQUOTE: ::DWORD = 0x0400; | |
1047 | pub const CRYPT_FORMAT_RDN_REVERSE: ::DWORD = 0x0800; | |
1048 | pub const CRYPT_FORMAT_COMMA: ::DWORD = 0x1000; | |
1049 | pub const CRYPT_FORMAT_SEMICOLON: ::DWORD = CRYPT_FORMAT_RDN_SEMICOLON; | |
1050 | pub const CRYPT_FORMAT_CRLF: ::DWORD = CRYPT_FORMAT_RDN_CRLF; | |
1051 | pub type PFN_CRYPT_ALLOC = Option<unsafe extern "system" fn(cbSize: ::size_t)>; | |
1052 | pub type PFN_CRYPT_FREE = Option<unsafe extern "system" fn(pv: ::LPVOID)>; | |
1053 | STRUCT!{nodebug struct CRYPT_ENCODE_PARA { | |
1054 | cbSize: ::DWORD, | |
1055 | pfnAlloc: PFN_CRYPT_ALLOC, | |
1056 | pfnFree: PFN_CRYPT_FREE, | |
1057 | }} | |
1058 | pub type PCRYPT_ENCODE_PARA = *mut CRYPT_ENCODE_PARA; | |
1059 | pub const CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: ::DWORD = 0x8; | |
1060 | pub const CRYPT_ENCODE_ALLOC_FLAG: ::DWORD = 0x8000; | |
1061 | pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG: ::DWORD = | |
1062 | CERT_RDN_ENABLE_T61_UNICODE_FLAG; | |
1063 | pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG: ::DWORD = | |
1064 | CERT_RDN_ENABLE_UTF8_UNICODE_FLAG; | |
1065 | pub const CRYPT_UNICODE_NAME_ENCODE_FORCE_UTF8_UNICODE_FLAG: ::DWORD = | |
1066 | CERT_RDN_FORCE_UTF8_UNICODE_FLAG; | |
1067 | pub const CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG: ::DWORD = | |
1068 | CERT_RDN_DISABLE_CHECK_TYPE_FLAG; | |
1069 | pub const CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: ::DWORD = 0x10000; | |
1070 | pub const CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG: ::DWORD = 0x20000; | |
1071 | pub const CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG: ::DWORD = 0x40000; | |
1072 | pub const CRYPT_ENCODE_ENABLE_IA5CONVERSION_FLAG: ::DWORD = CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG | |
1073 | | CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG; | |
1074 | STRUCT!{nodebug struct CRYPT_DECODE_PARA { | |
1075 | cbSize: ::DWORD, | |
1076 | pfnAlloc: PFN_CRYPT_ALLOC, | |
1077 | pfnFree: PFN_CRYPT_FREE, | |
1078 | }} | |
1079 | pub type PCRYPT_DECODE_PARA = *mut CRYPT_DECODE_PARA; | |
1080 | pub const CRYPT_DECODE_NOCOPY_FLAG: ::DWORD = 0x1; | |
1081 | pub const CRYPT_DECODE_TO_BE_SIGNED_FLAG: ::DWORD = 0x2; | |
1082 | pub const CRYPT_DECODE_SHARE_OID_STRING_FLAG: ::DWORD = 0x4; | |
1083 | pub const CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: ::DWORD = 0x8; | |
1084 | pub const CRYPT_DECODE_ALLOC_FLAG: ::DWORD = 0x8000; | |
1085 | pub const CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG: ::DWORD = | |
1086 | CERT_RDN_DISABLE_IE4_UTF8_FLAG; | |
1087 | pub const CRYPT_DECODE_ENABLE_PUNYCODE_FLAG: ::DWORD = 0x02000000; | |
1088 | pub const CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG: ::DWORD = 0x04000000; | |
1089 | pub const CRYPT_DECODE_ENABLE_IA5CONVERSION_FLAG: ::DWORD = CRYPT_DECODE_ENABLE_PUNYCODE_FLAG | |
1090 | | CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG; | |
1091 | pub const CRYPT_ENCODE_DECODE_NONE: ::LPCSTR = 0 as ::LPCSTR; | |
1092 | pub const X509_CERT: ::LPCSTR = 1 as ::LPCSTR; | |
1093 | pub const X509_CERT_TO_BE_SIGNED: ::LPCSTR = 2 as ::LPCSTR; | |
1094 | pub const X509_CERT_CRL_TO_BE_SIGNED: ::LPCSTR = 3 as ::LPCSTR; | |
1095 | pub const X509_CERT_REQUEST_TO_BE_SIGNED: ::LPCSTR = 4 as ::LPCSTR; | |
1096 | pub const X509_EXTENSIONS: ::LPCSTR = 5 as ::LPCSTR; | |
1097 | pub const X509_NAME_VALUE: ::LPCSTR = 6 as ::LPCSTR; | |
1098 | pub const X509_NAME: ::LPCSTR = 7 as ::LPCSTR; | |
1099 | pub const X509_PUBLIC_KEY_INFO: ::LPCSTR = 8 as ::LPCSTR; | |
1100 | pub const X509_AUTHORITY_KEY_ID: ::LPCSTR = 9 as ::LPCSTR; | |
1101 | pub const X509_KEY_ATTRIBUTES: ::LPCSTR = 10 as ::LPCSTR; | |
1102 | pub const X509_KEY_USAGE_RESTRICTION: ::LPCSTR = 11 as ::LPCSTR; | |
1103 | pub const X509_ALTERNATE_NAME: ::LPCSTR = 12 as ::LPCSTR; | |
1104 | pub const X509_BASIC_CONSTRAINTS: ::LPCSTR = 13 as ::LPCSTR; | |
1105 | pub const X509_KEY_USAGE: ::LPCSTR = 14 as ::LPCSTR; | |
1106 | pub const X509_BASIC_CONSTRAINTS2: ::LPCSTR = 15 as ::LPCSTR; | |
1107 | pub const X509_CERT_POLICIES: ::LPCSTR = 16 as ::LPCSTR; | |
1108 | pub const PKCS_UTC_TIME: ::LPCSTR = 17 as ::LPCSTR; | |
1109 | pub const PKCS_TIME_REQUEST: ::LPCSTR = 18 as ::LPCSTR; | |
1110 | pub const RSA_CSP_PUBLICKEYBLOB: ::LPCSTR = 19 as ::LPCSTR; | |
1111 | pub const X509_UNICODE_NAME: ::LPCSTR = 20 as ::LPCSTR; | |
1112 | pub const X509_KEYGEN_REQUEST_TO_BE_SIGNED: ::LPCSTR = 21 as ::LPCSTR; | |
1113 | pub const PKCS_ATTRIBUTE: ::LPCSTR = 22 as ::LPCSTR; | |
1114 | pub const PKCS_CONTENT_INFO_SEQUENCE_OF_ANY: ::LPCSTR = 23 as ::LPCSTR; | |
1115 | pub const X509_UNICODE_NAME_VALUE: ::LPCSTR = 24 as ::LPCSTR; | |
1116 | pub const X509_ANY_STRING: ::LPCSTR = X509_NAME_VALUE; | |
1117 | pub const X509_UNICODE_ANY_STRING: ::LPCSTR = X509_UNICODE_NAME_VALUE; | |
1118 | pub const X509_OCTET_STRING: ::LPCSTR = 25 as ::LPCSTR; | |
1119 | pub const X509_BITS: ::LPCSTR = 26 as ::LPCSTR; | |
1120 | pub const X509_INTEGER: ::LPCSTR = 27 as ::LPCSTR; | |
1121 | pub const X509_MULTI_BYTE_INTEGER: ::LPCSTR = 28 as ::LPCSTR; | |
1122 | pub const X509_ENUMERATED: ::LPCSTR = 29 as ::LPCSTR; | |
1123 | pub const X509_CHOICE_OF_TIME: ::LPCSTR = 30 as ::LPCSTR; | |
1124 | pub const X509_AUTHORITY_KEY_ID2: ::LPCSTR = 31 as ::LPCSTR; | |
1125 | pub const X509_AUTHORITY_INFO_ACCESS: ::LPCSTR = 32 as ::LPCSTR; | |
1126 | pub const X509_SUBJECT_INFO_ACCESS: ::LPCSTR = X509_AUTHORITY_INFO_ACCESS; | |
1127 | pub const X509_CRL_REASON_CODE: ::LPCSTR = X509_ENUMERATED; | |
1128 | pub const PKCS_CONTENT_INFO: ::LPCSTR = 33 as ::LPCSTR; | |
1129 | pub const X509_SEQUENCE_OF_ANY: ::LPCSTR = 34 as ::LPCSTR; | |
1130 | pub const X509_CRL_DIST_POINTS: ::LPCSTR = 35 as ::LPCSTR; | |
1131 | pub const X509_ENHANCED_KEY_USAGE: ::LPCSTR = 36 as ::LPCSTR; | |
1132 | pub const PKCS_CTL: ::LPCSTR = 37 as ::LPCSTR; | |
1133 | pub const X509_MULTI_BYTE_UINT: ::LPCSTR = 38 as ::LPCSTR; | |
1134 | pub const X509_DSS_PUBLICKEY: ::LPCSTR = X509_MULTI_BYTE_UINT; | |
1135 | pub const X509_DSS_PARAMETERS: ::LPCSTR = 39 as ::LPCSTR; | |
1136 | pub const X509_DSS_SIGNATURE: ::LPCSTR = 40 as ::LPCSTR; | |
1137 | pub const PKCS_RC2_CBC_PARAMETERS: ::LPCSTR = 41 as ::LPCSTR; | |
1138 | pub const PKCS_SMIME_CAPABILITIES: ::LPCSTR = 42 as ::LPCSTR; | |
1139 | pub const X509_QC_STATEMENTS_EXT: ::LPCSTR = 42 as ::LPCSTR; | |
1140 | pub const PKCS_RSA_PRIVATE_KEY: ::LPCSTR = 43 as ::LPCSTR; | |
1141 | pub const PKCS_PRIVATE_KEY_INFO: ::LPCSTR = 44 as ::LPCSTR; | |
1142 | pub const PKCS_ENCRYPTED_PRIVATE_KEY_INFO: ::LPCSTR = 45 as ::LPCSTR; | |
1143 | pub const X509_PKIX_POLICY_QUALIFIER_USERNOTICE: ::LPCSTR = 46 as ::LPCSTR; | |
1144 | pub const X509_DH_PUBLICKEY: ::LPCSTR = X509_MULTI_BYTE_UINT; | |
1145 | pub const X509_DH_PARAMETERS: ::LPCSTR = 47 as ::LPCSTR; | |
1146 | pub const PKCS_ATTRIBUTES: ::LPCSTR = 48 as ::LPCSTR; | |
1147 | pub const PKCS_SORTED_CTL: ::LPCSTR = 49 as ::LPCSTR; | |
1148 | pub const X509_ECC_SIGNATURE: ::LPCSTR = 47 as ::LPCSTR; | |
1149 | pub const X942_DH_PARAMETERS: ::LPCSTR = 50 as ::LPCSTR; | |
1150 | pub const X509_BITS_WITHOUT_TRAILING_ZEROES: ::LPCSTR = 51 as ::LPCSTR; | |
1151 | pub const X942_OTHER_INFO: ::LPCSTR = 52 as ::LPCSTR; | |
1152 | pub const X509_CERT_PAIR: ::LPCSTR = 53 as ::LPCSTR; | |
1153 | pub const X509_ISSUING_DIST_POINT: ::LPCSTR = 54 as ::LPCSTR; | |
1154 | pub const X509_NAME_CONSTRAINTS: ::LPCSTR = 55 as ::LPCSTR; | |
1155 | pub const X509_POLICY_MAPPINGS: ::LPCSTR = 56 as ::LPCSTR; | |
1156 | pub const X509_POLICY_CONSTRAINTS: ::LPCSTR = 57 as ::LPCSTR; | |
1157 | pub const X509_CROSS_CERT_DIST_POINTS: ::LPCSTR = 58 as ::LPCSTR; | |
1158 | pub const CMC_DATA: ::LPCSTR = 59 as ::LPCSTR; | |
1159 | pub const CMC_RESPONSE: ::LPCSTR = 60 as ::LPCSTR; | |
1160 | pub const CMC_STATUS: ::LPCSTR = 61 as ::LPCSTR; | |
1161 | pub const CMC_ADD_EXTENSIONS: ::LPCSTR = 62 as ::LPCSTR; | |
1162 | pub const CMC_ADD_ATTRIBUTES: ::LPCSTR = 63 as ::LPCSTR; | |
1163 | pub const X509_CERTIFICATE_TEMPLATE: ::LPCSTR = 64 as ::LPCSTR; | |
1164 | pub const OCSP_SIGNED_REQUEST: ::LPCSTR = 65 as ::LPCSTR; | |
1165 | pub const OCSP_REQUEST: ::LPCSTR = 66 as ::LPCSTR; | |
1166 | pub const OCSP_RESPONSE: ::LPCSTR = 67 as ::LPCSTR; | |
1167 | pub const OCSP_BASIC_SIGNED_RESPONSE: ::LPCSTR = 68 as ::LPCSTR; | |
1168 | pub const OCSP_BASIC_RESPONSE: ::LPCSTR = 69 as ::LPCSTR; | |
1169 | pub const X509_LOGOTYPE_EXT: ::LPCSTR = 70 as ::LPCSTR; | |
1170 | pub const X509_BIOMETRIC_EXT: ::LPCSTR = 71 as ::LPCSTR; | |
1171 | pub const CNG_RSA_PUBLIC_KEY_BLOB: ::LPCSTR = 72 as ::LPCSTR; | |
1172 | pub const X509_OBJECT_IDENTIFIER: ::LPCSTR = 73 as ::LPCSTR; | |
1173 | pub const X509_ALGORITHM_IDENTIFIER: ::LPCSTR = 74 as ::LPCSTR; | |
1174 | pub const PKCS_RSA_SSA_PSS_PARAMETERS: ::LPCSTR = 75 as ::LPCSTR; | |
1175 | pub const PKCS_RSAES_OAEP_PARAMETERS: ::LPCSTR = 76 as ::LPCSTR; | |
1176 | pub const ECC_CMS_SHARED_INFO: ::LPCSTR = 77 as ::LPCSTR; | |
1177 | pub const TIMESTAMP_REQUEST: ::LPCSTR = 78 as ::LPCSTR; | |
1178 | pub const TIMESTAMP_RESPONSE: ::LPCSTR = 79 as ::LPCSTR; | |
1179 | pub const TIMESTAMP_INFO: ::LPCSTR = 80 as ::LPCSTR; | |
1180 | pub const X509_CERT_BUNDLE: ::LPCSTR = 81 as ::LPCSTR; | |
1181 | pub const X509_ECC_PRIVATE_KEY: ::LPCSTR = 82 as ::LPCSTR; | |
1182 | pub const CNG_RSA_PRIVATE_KEY_BLOB: ::LPCSTR = 83 as ::LPCSTR; | |
1183 | pub const X509_SUBJECT_DIR_ATTRS: ::LPCSTR = 84 as ::LPCSTR; | |
1184 | pub const PKCS7_SIGNER_INFO: ::LPCSTR = 500 as ::LPCSTR; | |
1185 | pub const CMS_SIGNER_INFO: ::LPCSTR = 501 as ::LPCSTR; | |
1186 | pub const szOID_AUTHORITY_KEY_IDENTIFIER: &'static str = "2.5.29.1"; | |
1187 | pub const szOID_KEY_ATTRIBUTES: &'static str = "2.5.29.2"; | |
1188 | pub const szOID_CERT_POLICIES_95: &'static str = "2.5.29.3"; | |
1189 | pub const szOID_KEY_USAGE_RESTRICTION: &'static str = "2.5.29.4"; | |
1190 | pub const szOID_SUBJECT_ALT_NAME: &'static str = "2.5.29.7"; | |
1191 | pub const szOID_ISSUER_ALT_NAME: &'static str = "2.5.29.8"; | |
1192 | pub const szOID_BASIC_CONSTRAINTS: &'static str = "2.5.29.10"; | |
1193 | pub const szOID_KEY_USAGE: &'static str = "2.5.29.15"; | |
1194 | pub const szOID_PRIVATEKEY_USAGE_PERIOD: &'static str = "2.5.29.16"; | |
1195 | pub const szOID_BASIC_CONSTRAINTS2: &'static str = "2.5.29.19"; | |
1196 | pub const szOID_CERT_POLICIES: &'static str = "2.5.29.32"; | |
1197 | pub const szOID_ANY_CERT_POLICY: &'static str = "2.5.29.32.0"; | |
1198 | pub const szOID_INHIBIT_ANY_POLICY: &'static str = "2.5.29.54"; | |
1199 | pub const szOID_AUTHORITY_KEY_IDENTIFIER2: &'static str = "2.5.29.35"; | |
1200 | pub const szOID_SUBJECT_KEY_IDENTIFIER: &'static str = "2.5.29.14"; | |
1201 | pub const szOID_SUBJECT_ALT_NAME2: &'static str = "2.5.29.17"; | |
1202 | pub const szOID_ISSUER_ALT_NAME2: &'static str = "2.5.29.18"; | |
1203 | pub const szOID_CRL_REASON_CODE: &'static str = "2.5.29.21"; | |
1204 | pub const szOID_REASON_CODE_HOLD: &'static str = "2.5.29.23"; | |
1205 | pub const szOID_CRL_DIST_POINTS: &'static str = "2.5.29.31"; | |
1206 | pub const szOID_ENHANCED_KEY_USAGE: &'static str = "2.5.29.37"; | |
1207 | pub const szOID_ANY_ENHANCED_KEY_USAGE: &'static str = "2.5.29.37.0"; | |
1208 | pub const szOID_CRL_NUMBER: &'static str = "2.5.29.20"; | |
1209 | pub const szOID_DELTA_CRL_INDICATOR: &'static str = "2.5.29.27"; | |
1210 | pub const szOID_ISSUING_DIST_POINT: &'static str = "2.5.29.28"; | |
1211 | pub const szOID_FRESHEST_CRL: &'static str = "2.5.29.46"; | |
1212 | pub const szOID_NAME_CONSTRAINTS: &'static str = "2.5.29.30"; | |
1213 | pub const szOID_POLICY_MAPPINGS: &'static str = "2.5.29.33"; | |
1214 | pub const szOID_LEGACY_POLICY_MAPPINGS: &'static str = "2.5.29.5"; | |
1215 | pub const szOID_POLICY_CONSTRAINTS: &'static str = "2.5.29.36"; | |
1216 | pub const szOID_RENEWAL_CERTIFICATE: &'static str = "1.3.6.1.4.1.311.13.1"; | |
1217 | pub const szOID_ENROLLMENT_NAME_VALUE_PAIR: &'static str = "1.3.6.1.4.1.311.13.2.1"; | |
1218 | pub const szOID_ENROLLMENT_CSP_PROVIDER: &'static str = "1.3.6.1.4.1.311.13.2.2"; | |
1219 | pub const szOID_OS_VERSION: &'static str = "1.3.6.1.4.1.311.13.2.3"; | |
1220 | pub const szOID_ENROLLMENT_AGENT: &'static str = "1.3.6.1.4.1.311.20.2.1"; | |
1221 | pub const szOID_PKIX: &'static str = "1.3.6.1.5.5.7"; | |
1222 | pub const szOID_PKIX_PE: &'static str = "1.3.6.1.5.5.7.1"; | |
1223 | pub const szOID_AUTHORITY_INFO_ACCESS: &'static str = "1.3.6.1.5.5.7.1.1"; | |
1224 | pub const szOID_SUBJECT_INFO_ACCESS: &'static str = "1.3.6.1.5.5.7.1.11"; | |
1225 | pub const szOID_BIOMETRIC_EXT: &'static str = "1.3.6.1.5.5.7.1.2"; | |
1226 | pub const szOID_QC_STATEMENTS_EXT: &'static str = "1.3.6.1.5.5.7.1.3"; | |
1227 | pub const szOID_LOGOTYPE_EXT: &'static str = "1.3.6.1.5.5.7.1.12"; | |
1228 | pub const szOID_CERT_EXTENSIONS: &'static str = "1.3.6.1.4.1.311.2.1.14"; | |
1229 | pub const szOID_NEXT_UPDATE_LOCATION: &'static str = "1.3.6.1.4.1.311.10.2"; | |
1230 | pub const szOID_REMOVE_CERTIFICATE: &'static str = "1.3.6.1.4.1.311.10.8.1"; | |
1231 | pub const szOID_CROSS_CERT_DIST_POINTS: &'static str = "1.3.6.1.4.1.311.10.9.1"; | |
1232 | pub const szOID_CTL: &'static str = "1.3.6.1.4.1.311.10.1"; | |
1233 | pub const szOID_SORTED_CTL: &'static str = "1.3.6.1.4.1.311.10.1.1"; | |
1234 | pub const szOID_SERIALIZED: &'static str = "1.3.6.1.4.1.311.10.3.3.1"; | |
1235 | pub const szOID_NT_PRINCIPAL_NAME: &'static str = "1.3.6.1.4.1.311.20.2.3"; | |
1236 | pub const szOID_INTERNATIONALIZED_EMAIL_ADDRESS: &'static str = "1.3.6.1.4.1.311.20.2.4"; | |
1237 | pub const szOID_PRODUCT_UPDATE: &'static str = "1.3.6.1.4.1.311.31.1"; | |
1238 | pub const szOID_ANY_APPLICATION_POLICY: &'static str = "1.3.6.1.4.1.311.10.12.1"; | |
1239 | pub const szOID_AUTO_ENROLL_CTL_USAGE: &'static str = "1.3.6.1.4.1.311.20.1"; | |
1240 | pub const szOID_ENROLL_CERTTYPE_EXTENSION: &'static str = "1.3.6.1.4.1.311.20.2"; | |
1241 | pub const szOID_CERT_MANIFOLD: &'static str = "1.3.6.1.4.1.311.20.3"; | |
1242 | pub const szOID_CERTSRV_CA_VERSION: &'static str = "1.3.6.1.4.1.311.21.1"; | |
1243 | pub const szOID_CERTSRV_PREVIOUS_CERT_HASH: &'static str = "1.3.6.1.4.1.311.21.2"; | |
1244 | pub const szOID_CRL_VIRTUAL_BASE: &'static str = "1.3.6.1.4.1.311.21.3"; | |
1245 | pub const szOID_CRL_NEXT_PUBLISH: &'static str = "1.3.6.1.4.1.311.21.4"; | |
1246 | pub const szOID_KP_CA_EXCHANGE: &'static str = "1.3.6.1.4.1.311.21.5"; | |
1247 | pub const szOID_KP_KEY_RECOVERY_AGENT: &'static str = "1.3.6.1.4.1.311.21.6"; | |
1248 | pub const szOID_CERTIFICATE_TEMPLATE: &'static str = "1.3.6.1.4.1.311.21.7"; | |
1249 | pub const szOID_ENTERPRISE_OID_ROOT: &'static str = "1.3.6.1.4.1.311.21.8"; | |
1250 | pub const szOID_RDN_DUMMY_SIGNER: &'static str = "1.3.6.1.4.1.311.21.9"; | |
1251 | pub const szOID_APPLICATION_CERT_POLICIES: &'static str = "1.3.6.1.4.1.311.21.10"; | |
1252 | pub const szOID_APPLICATION_POLICY_MAPPINGS: &'static str = "1.3.6.1.4.1.311.21.11"; | |
1253 | pub const szOID_APPLICATION_POLICY_CONSTRAINTS: &'static str = "1.3.6.1.4.1.311.21.12"; | |
1254 | pub const szOID_ARCHIVED_KEY_ATTR: &'static str = "1.3.6.1.4.1.311.21.13"; | |
1255 | pub const szOID_CRL_SELF_CDP: &'static str = "1.3.6.1.4.1.311.21.14"; | |
1256 | pub const szOID_REQUIRE_CERT_CHAIN_POLICY: &'static str = "1.3.6.1.4.1.311.21.15"; | |
1257 | pub const szOID_ARCHIVED_KEY_CERT_HASH: &'static str = "1.3.6.1.4.1.311.21.16"; | |
1258 | pub const szOID_ISSUED_CERT_HASH: &'static str = "1.3.6.1.4.1.311.21.17"; | |
1259 | pub const szOID_DS_EMAIL_REPLICATION: &'static str = "1.3.6.1.4.1.311.21.19"; | |
1260 | pub const szOID_REQUEST_CLIENT_INFO: &'static str = "1.3.6.1.4.1.311.21.20"; | |
1261 | pub const szOID_ENCRYPTED_KEY_HASH: &'static str = "1.3.6.1.4.1.311.21.21"; | |
1262 | pub const szOID_CERTSRV_CROSSCA_VERSION: &'static str = "1.3.6.1.4.1.311.21.22"; | |
1263 | pub const szOID_NTDS_REPLICATION: &'static str = "1.3.6.1.4.1.311.25.1"; | |
1264 | pub const szOID_SUBJECT_DIR_ATTRS: &'static str = "2.5.29.9"; | |
1265 | pub const szOID_PKIX_KP: &'static str = "1.3.6.1.5.5.7.3"; | |
1266 | pub const szOID_PKIX_KP_SERVER_AUTH: &'static str = "1.3.6.1.5.5.7.3.1"; | |
1267 | pub const szOID_PKIX_KP_CLIENT_AUTH: &'static str = "1.3.6.1.5.5.7.3.2"; | |
1268 | pub const szOID_PKIX_KP_CODE_SIGNING: &'static str = "1.3.6.1.5.5.7.3.3"; | |
1269 | pub const szOID_PKIX_KP_EMAIL_PROTECTION: &'static str = "1.3.6.1.5.5.7.3.4"; | |
1270 | pub const szOID_PKIX_KP_IPSEC_END_SYSTEM: &'static str = "1.3.6.1.5.5.7.3.5"; | |
1271 | pub const szOID_PKIX_KP_IPSEC_TUNNEL: &'static str = "1.3.6.1.5.5.7.3.6"; | |
1272 | pub const szOID_PKIX_KP_IPSEC_USER: &'static str = "1.3.6.1.5.5.7.3.7"; | |
1273 | pub const szOID_PKIX_KP_TIMESTAMP_SIGNING: &'static str = "1.3.6.1.5.5.7.3.8"; | |
1274 | pub const szOID_PKIX_KP_OCSP_SIGNING: &'static str = "1.3.6.1.5.5.7.3.9"; | |
1275 | pub const szOID_PKIX_OCSP_NOCHECK: &'static str = "1.3.6.1.5.5.7.48.1.5"; | |
1276 | pub const szOID_PKIX_OCSP_NONCE: &'static str = "1.3.6.1.5.5.7.48.1.2"; | |
1277 | pub const szOID_IPSEC_KP_IKE_INTERMEDIATE: &'static str = "1.3.6.1.5.5.8.2.2"; | |
1278 | pub const szOID_PKINIT_KP_KDC: &'static str = "1.3.6.1.5.2.3.5"; | |
1279 | pub const szOID_KP_CTL_USAGE_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.1"; | |
1280 | pub const szOID_KP_TIME_STAMP_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.2"; | |
1281 | pub const szOID_SERVER_GATED_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.3"; | |
1282 | pub const szOID_SGC_NETSCAPE: &'static str = "2.16.840.1.113730.4.1"; | |
1283 | pub const szOID_KP_EFS: &'static str = "1.3.6.1.4.1.311.10.3.4"; | |
1284 | pub const szOID_EFS_RECOVERY: &'static str = "1.3.6.1.4.1.311.10.3.4.1"; | |
1285 | pub const szOID_WHQL_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.5"; | |
1286 | pub const szOID_NT5_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.6"; | |
1287 | pub const szOID_OEM_WHQL_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.7"; | |
1288 | pub const szOID_EMBEDDED_NT_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.8"; | |
1289 | pub const szOID_ROOT_LIST_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.9"; | |
1290 | pub const szOID_KP_QUALIFIED_SUBORDINATION: &'static str = "1.3.6.1.4.1.311.10.3.10"; | |
1291 | pub const szOID_KP_KEY_RECOVERY: &'static str = "1.3.6.1.4.1.311.10.3.11"; | |
1292 | pub const szOID_KP_DOCUMENT_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.12"; | |
1293 | pub const szOID_KP_LIFETIME_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.13"; | |
1294 | pub const szOID_KP_MOBILE_DEVICE_SOFTWARE: &'static str = "1.3.6.1.4.1.311.10.3.14"; | |
1295 | pub const szOID_KP_SMART_DISPLAY: &'static str = "1.3.6.1.4.1.311.10.3.15"; | |
1296 | pub const szOID_KP_CSP_SIGNATURE: &'static str = "1.3.6.1.4.1.311.10.3.16"; | |
1297 | pub const szOID_DRM: &'static str = "1.3.6.1.4.1.311.10.5.1"; | |
1298 | pub const szOID_DRM_INDIVIDUALIZATION: &'static str = "1.3.6.1.4.1.311.10.5.2"; | |
1299 | pub const szOID_LICENSES: &'static str = "1.3.6.1.4.1.311.10.6.1"; | |
1300 | pub const szOID_LICENSE_SERVER: &'static str = "1.3.6.1.4.1.311.10.6.2"; | |
1301 | pub const szOID_KP_SMARTCARD_LOGON: &'static str = "1.3.6.1.4.1.311.20.2.2"; | |
1302 | pub const szOID_KP_KERNEL_MODE_CODE_SIGNING: &'static str = "1.3.6.1.4.1.311.61.1.1"; | |
1303 | pub const szOID_KP_KERNEL_MODE_TRUSTED_BOOT_SIGNING: &'static str = "1.3.6.1.4.1.311.61.4.1"; | |
1304 | pub const szOID_REVOKED_LIST_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.19"; | |
1305 | pub const szOID_WINDOWS_KITS_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.20"; | |
1306 | pub const szOID_WINDOWS_RT_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.21"; | |
1307 | pub const szOID_PROTECTED_PROCESS_LIGHT_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.22"; | |
1308 | pub const szOID_WINDOWS_TCB_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.23"; | |
1309 | pub const szOID_PROTECTED_PROCESS_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.24"; | |
1310 | pub const szOID_WINDOWS_THIRD_PARTY_COMPONENT_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.25"; | |
1311 | pub const szOID_WINDOWS_SOFTWARE_EXTENSION_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.26"; | |
1312 | pub const szOID_DISALLOWED_LIST: &'static str = "1.3.6.1.4.1.311.10.3.30"; | |
1313 | pub const szOID_SYNC_ROOT_CTL_EXT: &'static str = "1.3.6.1.4.1.311.10.3.50"; | |
1314 | pub const szOID_KP_KERNEL_MODE_HAL_EXTENSION_SIGNING: &'static str = "1.3.6.1.4.1.311.61.5.1"; | |
1315 | pub const szOID_WINDOWS_STORE_SIGNER: &'static str = "1.3.6.1.4.1.311.76.3.1"; | |
1316 | pub const szOID_DYNAMIC_CODE_GEN_SIGNER: &'static str = "1.3.6.1.4.1.311.76.5.1"; | |
1317 | pub const szOID_MICROSOFT_PUBLISHER_SIGNER: &'static str = "1.3.6.1.4.1.311.76.8.1"; | |
1318 | pub const szOID_YESNO_TRUST_ATTR: &'static str = "1.3.6.1.4.1.311.10.4.1"; | |
1319 | pub const szOID_PKIX_POLICY_QUALIFIER_CPS: &'static str = "1.3.6.1.5.5.7.2.1"; | |
1320 | pub const szOID_PKIX_POLICY_QUALIFIER_USERNOTICE: &'static str = "1.3.6.1.5.5.7.2.2"; | |
1321 | pub const szOID_ROOT_PROGRAM_FLAGS: &'static str = "1.3.6.1.4.1.311.60.1.1"; | |
1322 | //6992 | |
1323 | pub type HCRYPTMSG = *mut ::c_void; | |
1324 | //9353 | |
1325 | pub type HCERTSTORE = *mut ::c_void; | |
1326 | STRUCT!{struct CERT_CONTEXT { | |
1327 | dwCertEncodingType: ::DWORD, | |
1328 | pbCertEncoded: *mut ::BYTE, | |
1329 | cbCertEncoded: ::DWORD, | |
1330 | pCertInfo: ::PCERT_INFO, | |
1331 | hCertStore: HCERTSTORE, | |
1332 | }} | |
1333 | pub type PCERT_CONTEXT = *mut CERT_CONTEXT; | |
1334 | pub type PCCERT_CONTEXT = *const CERT_CONTEXT; | |
1335 | STRUCT!{struct CRL_CONTEXT { | |
1336 | dwCertEncodingType: ::DWORD, | |
1337 | pbCrlEncoded: *mut ::BYTE, | |
1338 | cbCrlEncoded: ::DWORD, | |
1339 | pCrlInfo: ::PCRL_INFO, | |
1340 | hCertStore: HCERTSTORE, | |
1341 | }} | |
1342 | pub type PCRL_CONTEXT = *mut CRL_CONTEXT; | |
1343 | pub type PCCRL_CONTEXT = *const CRL_CONTEXT; | |
1344 | STRUCT!{struct CTL_CONTEXT { | |
1345 | dwMsgAndCertEncodingType: ::DWORD, | |
1346 | pbCtlEncoded: *mut ::BYTE, | |
1347 | cbCtlEncoded: ::DWORD, | |
1348 | pCtlInfo: ::PCTL_INFO, | |
1349 | hCertStore: HCERTSTORE, | |
1350 | hCryptMsg: HCRYPTMSG, | |
1351 | pbCtlContent: *mut ::BYTE, | |
1352 | cbCtlContent: ::DWORD, | |
1353 | }} | |
1354 | pub type PCTL_CONTEXT = *mut CTL_CONTEXT; | |
1355 | pub type PCCTL_CONTEXT = *const CTL_CONTEXT; | |
1356 | pub const CERT_STORE_PROV_MSG: ::DWORD = 1; | |
1357 | pub const CERT_STORE_PROV_MEMORY: ::DWORD = 2; | |
1358 | pub const CERT_STORE_PROV_FILE: ::DWORD = 3; | |
1359 | pub const CERT_STORE_PROV_REG: ::DWORD = 4; | |
1360 | pub const CERT_STORE_PROV_PKCS7: ::DWORD = 5; | |
1361 | pub const CERT_STORE_PROV_SERIALIZED: ::DWORD = 6; | |
1362 | pub const CERT_STORE_PROV_FILENAME_A: ::DWORD = 7; | |
1363 | pub const CERT_STORE_PROV_FILENAME_W: ::DWORD = 8; | |
1364 | pub const CERT_STORE_PROV_FILENAME: ::DWORD = CERT_STORE_PROV_FILENAME_W; | |
1365 | pub const CERT_STORE_PROV_SYSTEM_A: ::DWORD = 9; | |
1366 | pub const CERT_STORE_PROV_SYSTEM_W: ::DWORD = 10; | |
1367 | pub const CERT_STORE_PROV_SYSTEM: ::DWORD = CERT_STORE_PROV_SYSTEM_W; | |
1368 | pub const CERT_STORE_PROV_COLLECTION: ::DWORD = 11; | |
1369 | pub const CERT_STORE_PROV_SYSTEM_REGISTRY_A: ::DWORD = 12; | |
1370 | pub const CERT_STORE_PROV_SYSTEM_REGISTRY_W: ::DWORD = 13; | |
1371 | pub const CERT_STORE_PROV_SYSTEM_REGISTRY: ::DWORD = CERT_STORE_PROV_SYSTEM_REGISTRY_W; | |
1372 | pub const CERT_STORE_PROV_PHYSICAL_W: ::DWORD = 14; | |
1373 | pub const CERT_STORE_PROV_PHYSICAL: ::DWORD = CERT_STORE_PROV_PHYSICAL_W; | |
1374 | pub const CERT_STORE_PROV_SMART_CARD_W: ::DWORD = 15; | |
1375 | pub const CERT_STORE_PROV_SMART_CARD: ::DWORD = CERT_STORE_PROV_SMART_CARD_W; | |
1376 | pub const CERT_STORE_PROV_LDAP_W: ::DWORD = 16; | |
1377 | pub const CERT_STORE_PROV_LDAP: ::DWORD = CERT_STORE_PROV_LDAP_W; | |
1378 | pub const CERT_STORE_NO_CRYPT_RELEASE_FLAG: ::DWORD = 0x00000001; | |
1379 | pub const CERT_STORE_SET_LOCALIZED_NAME_FLAG: ::DWORD = 0x00000002; | |
1380 | pub const CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG: ::DWORD = 0x00000004; | |
1381 | pub const CERT_STORE_DELETE_FLAG: ::DWORD = 0x00000010; | |
1382 | pub const CERT_STORE_SHARE_STORE_FLAG: ::DWORD = 0x00000040; | |
1383 | pub const CERT_STORE_SHARE_CONTEXT_FLAG: ::DWORD = 0x00000080; | |
1384 | pub const CERT_STORE_MANIFOLD_FLAG: ::DWORD = 0x00000100; | |
1385 | pub const CERT_STORE_ENUM_ARCHIVED_FLAG: ::DWORD = 0x00000200; | |
1386 | pub const CERT_STORE_UPDATE_KEYID_FLAG: ::DWORD = 0x00000400; | |
1387 | pub const CERT_STORE_BACKUP_RESTORE_FLAG: ::DWORD = 0x00000800; | |
1388 | pub const CERT_STORE_READONLY_FLAG: ::DWORD = 0x00008000; | |
1389 | pub const CERT_STORE_OPEN_EXISTING_FLAG: ::DWORD = 0x00004000; | |
1390 | pub const CERT_STORE_CREATE_NEW_FLAG: ::DWORD = 0x00002000; | |
1391 | pub const CERT_STORE_MAXIMUM_ALLOWED_FLAG: ::DWORD = 0x00001000; | |
1392 | pub const CERT_SYSTEM_STORE_UNPROTECTED_FLAG: ::DWORD = 0x40000000; | |
1393 | pub const CERT_SYSTEM_STORE_LOCATION_MASK: ::DWORD = 0x00FF0000; | |
1394 | pub const CERT_SYSTEM_STORE_LOCATION_SHIFT: ::DWORD = 16; | |
1395 | pub const CERT_SYSTEM_STORE_CURRENT_USER_ID: ::DWORD = 1; | |
1396 | pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ID: ::DWORD = 2; | |
1397 | pub const CERT_SYSTEM_STORE_CURRENT_SERVICE_ID: ::DWORD = 4; | |
1398 | pub const CERT_SYSTEM_STORE_SERVICES_ID: ::DWORD = 5; | |
1399 | pub const CERT_SYSTEM_STORE_USERS_ID: ::DWORD = 6; | |
1400 | pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID: ::DWORD = 7; | |
1401 | pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID: ::DWORD = 8; | |
1402 | pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID: ::DWORD = 9; | |
1403 | pub const CERT_SYSTEM_STORE_CURRENT_USER: ::DWORD = CERT_SYSTEM_STORE_CURRENT_USER_ID | |
1404 | << CERT_SYSTEM_STORE_LOCATION_SHIFT; | |
1405 | pub const CERT_SYSTEM_STORE_LOCAL_MACHINE: ::DWORD = CERT_SYSTEM_STORE_LOCAL_MACHINE_ID | |
1406 | << CERT_SYSTEM_STORE_LOCATION_SHIFT; | |
1407 | pub const CERT_SYSTEM_STORE_CURRENT_SERVICE: ::DWORD = CERT_SYSTEM_STORE_CURRENT_SERVICE_ID | |
1408 | << CERT_SYSTEM_STORE_LOCATION_SHIFT; | |
1409 | pub const CERT_SYSTEM_STORE_SERVICES: ::DWORD = CERT_SYSTEM_STORE_SERVICES_ID | |
1410 | << CERT_SYSTEM_STORE_LOCATION_SHIFT; | |
1411 | pub const CERT_SYSTEM_STORE_USERS: ::DWORD = CERT_SYSTEM_STORE_USERS_ID | |
1412 | << CERT_SYSTEM_STORE_LOCATION_SHIFT; | |
1413 | pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY: ::DWORD = | |
1414 | CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT; | |
1415 | pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY: ::DWORD = | |
1416 | CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT; | |
1417 | pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE: ::DWORD = | |
1418 | CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT; | |
1419 | pub const CERT_NAME_EMAIL_TYPE: ::DWORD = 1; | |
1420 | pub const CERT_NAME_RDN_TYPE: ::DWORD = 2; | |
1421 | pub const CERT_NAME_ATTR_TYPE: ::DWORD = 3; | |
1422 | pub const CERT_NAME_SIMPLE_DISPLAY_TYPE: ::DWORD = 4; | |
1423 | pub const CERT_NAME_FRIENDLY_DISPLAY_TYPE: ::DWORD = 5; | |
1424 | pub const CERT_NAME_DNS_TYPE: ::DWORD = 6; | |
1425 | pub const CERT_NAME_URL_TYPE: ::DWORD = 7; | |
1426 | pub const CERT_NAME_UPN_TYPE: ::DWORD = 8; | |
1427 | pub const CERT_SIMPLE_NAME_STR: ::DWORD = 1; | |
1428 | pub const CERT_OID_NAME_STR: ::DWORD = 2; | |
1429 | pub const CERT_X500_NAME_STR: ::DWORD = 3; | |
1430 | ||
1431 | pub const CERT_NAME_STR_SEMICOLON_FLAG: ::DWORD = 0x40000000; | |
1432 | pub const CERT_NAME_STR_NO_PLUS_FLAG: ::DWORD = 0x20000000; | |
1433 | pub const CERT_NAME_STR_NO_QUOTING_FLAG: ::DWORD = 0x10000000; | |
1434 | pub const CERT_NAME_STR_CRLF_FLAG: ::DWORD = 0x08000000; | |
1435 | pub const CERT_NAME_STR_COMMA_FLAG: ::DWORD = 0x04000000; | |
1436 | pub const CERT_NAME_STR_REVERSE_FLAG: ::DWORD = 0x02000000; | |
1437 | ||
1438 | pub const CERT_NAME_ISSUER_FLAG: ::DWORD = 0x1; | |
1439 | pub const CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG: ::DWORD = 0x00010000; | |
1440 | pub const CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG: ::DWORD = 0x00020000; | |
1441 | pub const CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG: ::DWORD = 0x00040000; | |
1442 | pub const CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG: ::DWORD = 0x00080000; | |
1443 | pub const CERT_DELETE_KEYSET_PROP_ID: ::DWORD = 101; | |
1444 | pub const CERT_COMPARE_MASK: ::DWORD = 0xFFFF; | |
1445 | pub const CERT_COMPARE_SHIFT: ::DWORD = 16; | |
1446 | pub const CERT_COMPARE_ANY: ::DWORD = 0; | |
1447 | pub const CERT_COMPARE_SHA1_HASH: ::DWORD = 1; | |
1448 | pub const CERT_COMPARE_NAME: ::DWORD = 2; | |
1449 | pub const CERT_COMPARE_ATTR: ::DWORD = 3; | |
1450 | pub const CERT_COMPARE_MD5_HASH: ::DWORD = 4; | |
1451 | pub const CERT_COMPARE_PROPERTY: ::DWORD = 5; | |
1452 | pub const CERT_COMPARE_PUBLIC_KEY: ::DWORD = 6; | |
1453 | pub const CERT_COMPARE_HASH: ::DWORD = CERT_COMPARE_SHA1_HASH; | |
1454 | pub const CERT_COMPARE_NAME_STR_A: ::DWORD = 7; | |
1455 | pub const CERT_COMPARE_NAME_STR_W: ::DWORD = 8; | |
1456 | pub const CERT_COMPARE_KEY_SPEC: ::DWORD = 9; | |
1457 | pub const CERT_COMPARE_ENHKEY_USAGE: ::DWORD = 10; | |
1458 | pub const CERT_COMPARE_CTL_USAGE: ::DWORD = CERT_COMPARE_ENHKEY_USAGE; | |
1459 | pub const CERT_COMPARE_SUBJECT_CERT: ::DWORD = 11; | |
1460 | pub const CERT_COMPARE_ISSUER_OF: ::DWORD = 12; | |
1461 | pub const CERT_COMPARE_EXISTING: ::DWORD = 13; | |
1462 | pub const CERT_COMPARE_SIGNATURE_HASH: ::DWORD = 14; | |
1463 | pub const CERT_COMPARE_KEY_IDENTIFIER: ::DWORD = 15; | |
1464 | pub const CERT_COMPARE_CERT_ID: ::DWORD = 16; | |
1465 | pub const CERT_COMPARE_CROSS_CERT_DIST_POINTS: ::DWORD = 17; | |
1466 | pub const CERT_COMPARE_PUBKEY_MD5_HASH: ::DWORD = 18; | |
1467 | pub const CERT_FIND_ANY: ::DWORD = CERT_COMPARE_ANY << CERT_COMPARE_SHIFT; | |
1468 | pub const CERT_FIND_SHA1_HASH: ::DWORD = CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT; | |
1469 | pub const CERT_FIND_MD5_HASH: ::DWORD = CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT; | |
1470 | pub const CERT_FIND_SIGNATURE_HASH: ::DWORD = CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT; | |
1471 | pub const CERT_FIND_KEY_IDENTIFIER: ::DWORD = CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT; | |
1472 | pub const CERT_FIND_HASH: ::DWORD = CERT_FIND_SHA1_HASH; | |
1473 | pub const CERT_FIND_PROPERTY: ::DWORD = CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT; | |
1474 | pub const CERT_FIND_PUBLIC_KEY: ::DWORD = CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT; | |
1475 | pub const CERT_FIND_SUBJECT_NAME: ::DWORD = (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT) | |
1476 | | CERT_INFO_SUBJECT_FLAG; | |
1477 | pub const CERT_FIND_SUBJECT_ATTR: ::DWORD = (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT) | |
1478 | | CERT_INFO_SUBJECT_FLAG; | |
1479 | pub const CERT_FIND_ISSUER_NAME: ::DWORD = (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT) | |
1480 | | CERT_INFO_ISSUER_FLAG; | |
1481 | pub const CERT_FIND_ISSUER_ATTR: ::DWORD = (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT) | |
1482 | | CERT_INFO_ISSUER_FLAG; | |
1483 | pub const CERT_FIND_SUBJECT_STR_A: ::DWORD = (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT) | |
1484 | | CERT_INFO_SUBJECT_FLAG; | |
1485 | pub const CERT_FIND_SUBJECT_STR_W: ::DWORD = (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT) | |
1486 | | CERT_INFO_SUBJECT_FLAG; | |
1487 | pub const CERT_FIND_SUBJECT_STR: ::DWORD = CERT_FIND_SUBJECT_STR_W; | |
1488 | pub const CERT_FIND_ISSUER_STR_A: ::DWORD = (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT) | |
1489 | | CERT_INFO_ISSUER_FLAG; | |
1490 | pub const CERT_FIND_ISSUER_STR_W: ::DWORD = (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT) | |
1491 | | CERT_INFO_ISSUER_FLAG; | |
1492 | pub const CERT_FIND_ISSUER_STR: ::DWORD = CERT_FIND_ISSUER_STR_W; | |
1493 | pub const CERT_FIND_KEY_SPEC: ::DWORD = CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT; | |
1494 | pub const CERT_FIND_ENHKEY_USAGE: ::DWORD = CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT; | |
1495 | pub const CERT_FIND_CTL_USAGE: ::DWORD = CERT_FIND_ENHKEY_USAGE; | |
1496 | pub const CERT_FIND_SUBJECT_CERT: ::DWORD = CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT; | |
1497 | pub const CERT_FIND_ISSUER_OF: ::DWORD = CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT; | |
1498 | pub const CERT_FIND_EXISTING: ::DWORD = CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT; | |
1499 | pub const CERT_FIND_CERT_ID: ::DWORD = CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT; | |
1500 | pub const CERT_FIND_CROSS_CERT_DIST_POINTS: ::DWORD = CERT_COMPARE_CROSS_CERT_DIST_POINTS | |
1501 | << CERT_COMPARE_SHIFT; | |
1502 | pub const CERT_FIND_PUBKEY_MD5_HASH: ::DWORD = CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT; | |
1503 | pub const CERT_ENCIPHER_ONLY_KEY_USAGE: ::DWORD = 0x0001; | |
1504 | pub const CERT_CRL_SIGN_KEY_USAGE: ::DWORD = 0x0002; | |
1505 | pub const CERT_KEY_CERT_SIGN_KEY_USAGE: ::DWORD = 0x0004; | |
1506 | pub const CERT_KEY_AGREEMENT_KEY_USAGE: ::DWORD = 0x0008; | |
1507 | pub const CERT_DATA_ENCIPHERMENT_KEY_USAGE: ::DWORD = 0x0010; | |
1508 | pub const CERT_KEY_ENCIPHERMENT_KEY_USAGE: ::DWORD = 0x0020; | |
1509 | pub const CERT_NON_REPUDIATION_KEY_USAGE: ::DWORD = 0x0040; | |
1510 | pub const CERT_DIGITAL_SIGNATURE_KEY_USAGE: ::DWORD = 0x0080; | |
1511 | pub const CERT_DECIPHER_ONLY_KEY_USAGE: ::DWORD = 0x8000; | |
1512 | pub const CERT_STORE_ADD_NEW: ::DWORD = 1; | |
1513 | pub const CERT_STORE_ADD_USE_EXISTING: ::DWORD = 2; | |
1514 | pub const CERT_STORE_ADD_REPLACE_EXISTING: ::DWORD = 3; | |
1515 | pub const CERT_STORE_ADD_ALWAYS: ::DWORD = 4; | |
1516 | pub const CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES: ::DWORD = 5; | |
1517 | pub const CERT_STORE_ADD_NEWER: ::DWORD = 6; | |
1518 | pub const CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES: ::DWORD = 7; | |
1519 | pub const CERT_STORE_SAVE_AS_STORE: ::DWORD = 1; | |
1520 | pub const CERT_STORE_SAVE_AS_PKCS7: ::DWORD = 2; | |
1521 | pub const CERT_STORE_SAVE_TO_FILE: ::DWORD = 1; | |
1522 | pub const CERT_STORE_SAVE_TO_MEMORY: ::DWORD = 2; | |
1523 | pub const CERT_STORE_SAVE_TO_FILENAME_A: ::DWORD = 3; | |
1524 | pub const CERT_STORE_SAVE_TO_FILENAME_W: ::DWORD = 4; | |
1525 | pub const CERT_STORE_SAVE_TO_FILENAME: ::DWORD = CERT_STORE_SAVE_TO_FILENAME_W; | |
1526 | pub const CERT_CA_SUBJECT_FLAG: ::DWORD = 0x80; | |
1527 | pub const CERT_END_ENTITY_SUBJECT_FLAG: ::DWORD = 0x40; | |
1528 | pub const CERT_CHAIN_POLICY_BASE: ::DWORD = 1; | |
1529 | pub const CERT_CHAIN_POLICY_AUTHENTICODE: ::DWORD = 2; | |
1530 | pub const CERT_CHAIN_POLICY_AUTHENTICODE_TS: ::DWORD = 3; | |
1531 | pub const CERT_CHAIN_POLICY_SSL: ::DWORD = 4; | |
1532 | pub const CERT_CHAIN_POLICY_BASIC_CONSTRAINTS: ::DWORD = 5; | |
1533 | pub const CERT_CHAIN_POLICY_NT_AUTH: ::DWORD = 6; | |
1534 | pub const CERT_CHAIN_POLICY_MICROSOFT_ROOT: ::DWORD = 7; | |
1535 | pub const CERT_CHAIN_REVOCATION_CHECK_END_CERT: ::DWORD = 0x10000000; | |
1536 | pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN: ::DWORD = 0x20000000; | |
1537 | pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: ::DWORD = 0x40000000; | |
1538 | pub const CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY: ::DWORD = 0x80000000; | |
1539 | pub const CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT: ::DWORD = 0x08000000; | |
1540 | pub const CERT_TRUST_NO_ERROR: ::DWORD = 0x00000000; | |
1541 | pub const CERT_TRUST_IS_NOT_TIME_VALID: ::DWORD = 0x00000001; | |
1542 | pub const CERT_TRUST_IS_NOT_TIME_NESTED: ::DWORD = 0x00000002; | |
1543 | pub const CERT_TRUST_IS_REVOKED: ::DWORD = 0x00000004; | |
1544 | pub const CERT_TRUST_IS_NOT_SIGNATURE_VALID: ::DWORD = 0x00000008; | |
1545 | pub const CERT_TRUST_IS_NOT_VALID_FOR_USAGE: ::DWORD = 0x00000010; | |
1546 | pub const CERT_TRUST_IS_UNTRUSTED_ROOT: ::DWORD = 0x00000020; | |
1547 | pub const CERT_TRUST_REVOCATION_STATUS_UNKNOWN: ::DWORD = 0x00000040; | |
1548 | pub const CERT_TRUST_IS_CYCLIC: ::DWORD = 0x00000080; | |
1549 | ||
1550 | pub const CERT_TRUST_INVALID_EXTENSION: ::DWORD = 0x00000100; | |
1551 | pub const CERT_TRUST_INVALID_POLICY_CONSTRAINTS: ::DWORD = 0x00000200; | |
1552 | pub const CERT_TRUST_INVALID_BASIC_CONSTRAINTS: ::DWORD = 0x00000400; | |
1553 | pub const CERT_TRUST_INVALID_NAME_CONSTRAINTS: ::DWORD = 0x00000800; | |
1554 | pub const CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT: ::DWORD = 0x00001000; | |
1555 | pub const CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT: ::DWORD = 0x00002000; | |
1556 | pub const CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT: ::DWORD = 0x00004000; | |
1557 | pub const CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT: ::DWORD = 0x00008000; | |
1558 | ||
1559 | pub const CERT_TRUST_IS_OFFLINE_REVOCATION: ::DWORD = 0x01000000; | |
1560 | pub const CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY: ::DWORD = 0x02000000; | |
1561 | pub const CERT_TRUST_IS_PARTIAL_CHAIN: ::DWORD = 0x00010000; | |
1562 | pub const CERT_TRUST_CTL_IS_NOT_TIME_VALID: ::DWORD = 0x00020000; | |
1563 | pub const CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID: ::DWORD = 0x00040000; | |
1564 | pub const CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE: ::DWORD = 0x00080000; | |
1565 | pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG: ::DWORD = 0x00000001; | |
1566 | pub const CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG: ::DWORD = 0x00000002; | |
1567 | pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG: ::DWORD = 0x00000004; | |
1568 | pub const CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAG: ::DWORD = 0x00000008; | |
1569 | ||
1570 | pub const CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG: ::DWORD = 0x00000010; | |
1571 | pub const CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG: ::DWORD = 0x00000020; | |
1572 | pub const CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAG: ::DWORD = 0x00000040; | |
1573 | pub const CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAG: ::DWORD = 0x00000080; | |
1574 | ||
1575 | pub const CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG: ::DWORD = 0x00000100; | |
1576 | pub const CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG: ::DWORD = 0x00000200; | |
1577 | pub const CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG: ::DWORD = 0x00000400; | |
1578 | pub const CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG: ::DWORD = 0x00000800; | |
1579 | ||
1580 | pub const CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS: ::DWORD = | |
1581 | CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG | | |
1582 | CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG | | |
1583 | CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG | | |
1584 | CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG; | |
1585 | pub const CERT_TRUST_HAS_EXACT_MATCH_ISSUER: ::DWORD = 0x00000001; | |
1586 | pub const CERT_TRUST_HAS_KEY_MATCH_ISSUER: ::DWORD = 0x00000002; | |
1587 | pub const CERT_TRUST_HAS_NAME_MATCH_ISSUER: ::DWORD = 0x00000004; | |
1588 | pub const CERT_TRUST_IS_SELF_SIGNED: ::DWORD = 0x00000008; | |
1589 | pub const CERT_TRUST_HAS_PREFERRED_ISSUER: ::DWORD = 0x00000100; | |
1590 | pub const CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY: ::DWORD = 0x00000200; | |
1591 | pub const CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS: ::DWORD = 0x00000400; | |
1592 | pub const CERT_TRUST_IS_COMPLEX_CHAIN: ::DWORD = 0x00010000; | |
1593 | pub const CERT_ALT_NAME_OTHER_NAME: ::DWORD = 1; | |
1594 | pub const CERT_ALT_NAME_RFC822_NAME: ::DWORD = 2; | |
1595 | pub const CERT_ALT_NAME_DNS_NAME: ::DWORD = 3; | |
1596 | pub const CERT_ALT_NAME_X400_ADDRESS: ::DWORD = 4; | |
1597 | pub const CERT_ALT_NAME_DIRECTORY_NAME: ::DWORD = 5; | |
1598 | pub const CERT_ALT_NAME_EDI_PARTY_NAME: ::DWORD = 6; | |
1599 | pub const CERT_ALT_NAME_URL: ::DWORD = 7; | |
1600 | pub const CERT_ALT_NAME_IP_ADDRESS: ::DWORD = 8; | |
1601 | pub const CERT_ALT_NAME_REGISTERED_ID: ::DWORD = 9; | |
1602 | pub const CERT_STORE_CTRL_RESYNC: ::DWORD = 1; | |
1603 | pub const CERT_STORE_CTRL_NOTIFY_CHANGE: ::DWORD = 2; | |
1604 | pub const CERT_STORE_CTRL_COMMIT: ::DWORD = 3; | |
1605 | pub const CERT_STORE_CTRL_AUTO_RESYNC: ::DWORD = 4; | |
1606 | pub const CERT_STORE_CTRL_CANCEL_NOTIFY: ::DWORD = 5; | |
1607 | pub const CERT_ID_ISSUER_SERIAL_NUMBER: ::DWORD = 1; | |
1608 | pub const CERT_ID_KEY_IDENTIFIER: ::DWORD = 2; | |
1609 | pub const CERT_ID_SHA1_HASH: ::DWORD = 3; | |
1610 | pub const CERT_KEY_PROV_HANDLE_PROP_ID: ::DWORD = 1; | |
1611 | pub const CERT_KEY_PROV_INFO_PROP_ID: ::DWORD = 2; | |
1612 | pub const CERT_SHA1_HASH_PROP_ID: ::DWORD = 3; | |
1613 | pub const CERT_MD5_HASH_PROP_ID: ::DWORD = 4; | |
1614 | pub const CERT_HASH_PROP_ID: ::DWORD = CERT_SHA1_HASH_PROP_ID; | |
1615 | pub const CERT_KEY_CONTEXT_PROP_ID: ::DWORD = 5; | |
1616 | pub const CERT_KEY_SPEC_PROP_ID: ::DWORD = 6; | |
1617 | pub const CERT_IE30_RESERVED_PROP_ID: ::DWORD = 7; | |
1618 | pub const CERT_PUBKEY_HASH_RESERVED_PROP_ID: ::DWORD = 8; | |
1619 | pub const CERT_ENHKEY_USAGE_PROP_ID: ::DWORD = 9; | |
1620 | pub const CERT_CTL_USAGE_PROP_ID: ::DWORD = CERT_ENHKEY_USAGE_PROP_ID; | |
1621 | pub const CERT_NEXT_UPDATE_LOCATION_PROP_ID: ::DWORD = 10; | |
1622 | pub const CERT_FRIENDLY_NAME_PROP_ID: ::DWORD = 11; | |
1623 | pub const CERT_PVK_FILE_PROP_ID: ::DWORD = 12; | |
1624 | pub const CERT_DESCRIPTION_PROP_ID: ::DWORD = 13; | |
1625 | pub const CERT_ACCESS_STATE_PROP_ID: ::DWORD = 14; | |
1626 | pub const CERT_SIGNATURE_HASH_PROP_ID: ::DWORD = 15; | |
1627 | pub const CERT_SMART_CARD_DATA_PROP_ID: ::DWORD = 16; | |
1628 | pub const CERT_EFS_PROP_ID: ::DWORD = 17; | |
1629 | pub const CERT_FORTEZZA_DATA_PROP_ID: ::DWORD = 18; | |
1630 | pub const CERT_ARCHIVED_PROP_ID: ::DWORD = 19; | |
1631 | pub const CERT_KEY_IDENTIFIER_PROP_ID: ::DWORD = 20; | |
1632 | pub const CERT_AUTO_ENROLL_PROP_ID: ::DWORD = 21; | |
1633 | pub const CERT_PUBKEY_ALG_PARA_PROP_ID: ::DWORD = 22; | |
1634 | pub const CERT_CROSS_CERT_DIST_POINTS_PROP_ID: ::DWORD = 23; | |
1635 | pub const CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID: ::DWORD = 24; | |
1636 | pub const CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID: ::DWORD = 25; | |
1637 | pub const CERT_ENROLLMENT_PROP_ID: ::DWORD = 26; | |
1638 | pub const CERT_DATE_STAMP_PROP_ID: ::DWORD = 27; | |
1639 | pub const CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: ::DWORD = 28; | |
1640 | pub const CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: ::DWORD = 29; | |
1641 | pub const CERT_EXTENDED_ERROR_INFO_PROP_ID: ::DWORD = 30; | |
1642 | pub const CERT_RENEWAL_PROP_ID: ::DWORD = 64; | |
1643 | pub const CERT_ARCHIVED_KEY_HASH_PROP_ID: ::DWORD = 65; | |
1644 | pub const CERT_AUTO_ENROLL_RETRY_PROP_ID: ::DWORD = 66; | |
1645 | pub const CERT_AIA_URL_RETRIEVED_PROP_ID: ::DWORD = 67; | |
1646 | pub const CERT_AUTHORITY_INFO_ACCESS_PROP_ID: ::DWORD = 68; | |
1647 | pub const CERT_BACKED_UP_PROP_ID: ::DWORD = 69; | |
1648 | pub const CERT_OCSP_RESPONSE_PROP_ID: ::DWORD = 70; | |
1649 | pub const CERT_REQUEST_ORIGINATOR_PROP_ID: ::DWORD = 71; | |
1650 | pub const CERT_SOURCE_LOCATION_PROP_ID: ::DWORD = 72; | |
1651 | pub const CERT_SOURCE_URL_PROP_ID: ::DWORD = 73; | |
1652 | pub const CERT_NEW_KEY_PROP_ID: ::DWORD = 74; | |
1653 | pub const CERT_OCSP_CACHE_PREFIX_PROP_ID: ::DWORD = 75; | |
1654 | pub const CERT_SMART_CARD_ROOT_INFO_PROP_ID: ::DWORD = 76; | |
1655 | pub const CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID: ::DWORD = 77; | |
1656 | pub const CERT_NCRYPT_KEY_HANDLE_PROP_ID: ::DWORD = 78; | |
1657 | pub const CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID: ::DWORD = 79; | |
1658 | pub const CERT_SUBJECT_INFO_ACCESS_PROP_ID: ::DWORD = 80; | |
1659 | pub const CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: ::DWORD = 81; | |
1660 | pub const CERT_CA_DISABLE_CRL_PROP_ID: ::DWORD = 82; | |
1661 | pub const CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID: ::DWORD = 83; | |
1662 | pub const CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID: ::DWORD = 84; | |
1663 | pub const CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: ::DWORD = 85; | |
1664 | pub const CERT_SUBJECT_DISABLE_CRL_PROP_ID: ::DWORD = 86; | |
1665 | pub const CERT_CEP_PROP_ID: ::DWORD = 87; | |
1666 | pub const CERT_SIGN_HASH_CNG_ALG_PROP_ID: ::DWORD = 89; | |
1667 | pub const CERT_SCARD_PIN_ID_PROP_ID: ::DWORD = 90; | |
1668 | pub const CERT_SCARD_PIN_INFO_PROP_ID: ::DWORD = 91; | |
1669 | pub const CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID: ::DWORD = 92; | |
1670 | pub const CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: ::DWORD = 93; | |
1671 | pub const CERT_ISSUER_PUB_KEY_BIT_LENGTH_PROP_ID: ::DWORD = 94; | |
1672 | pub const CERT_ISSUER_CHAIN_SIGN_HASH_CNG_ALG_PROP_ID: ::DWORD = 95; | |
1673 | pub const CERT_ISSUER_CHAIN_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: ::DWORD = 96; | |
1674 | pub const CERT_NO_EXPIRE_NOTIFICATION_PROP_ID: ::DWORD = 97; | |
1675 | pub const CERT_AUTH_ROOT_SHA256_HASH_PROP_ID: ::DWORD = 98; | |
1676 | pub const CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID: ::DWORD = 99; | |
1677 | pub const CERT_HCRYPTPROV_TRANSFER_PROP_ID: ::DWORD = 100; | |
1678 | pub const CERT_SMART_CARD_READER_PROP_ID: ::DWORD = 101; | |
1679 | pub const CERT_SEND_AS_TRUSTED_ISSUER_PROP_ID: ::DWORD = 102; | |
1680 | pub const CERT_KEY_REPAIR_ATTEMPTED_PROP_ID: ::DWORD = 103; | |
1681 | pub const CERT_DISALLOWED_FILETIME_PROP_ID: ::DWORD = 104; | |
1682 | pub const CERT_ROOT_PROGRAM_CHAIN_POLICIES_PROP_ID: ::DWORD = 105; | |
1683 | pub const CERT_SMART_CARD_READER_NON_REMOVABLE_PROP_ID: ::DWORD = 106; | |
1684 | pub const CERT_SHA256_HASH_PROP_ID: ::DWORD = 107; | |
1685 | pub const CERT_SCEP_SERVER_CERTS_PROP_ID: ::DWORD = 108; | |
1686 | pub const CERT_SCEP_RA_SIGNATURE_CERT_PROP_ID: ::DWORD = 109; | |
1687 | pub const CERT_SCEP_RA_ENCRYPTION_CERT_PROP_ID: ::DWORD = 110; | |
1688 | pub const CERT_SCEP_CA_CERT_PROP_ID: ::DWORD = 111; | |
1689 | pub const CERT_SCEP_SIGNER_CERT_PROP_ID: ::DWORD = 112; | |
1690 | pub const CERT_SCEP_NONCE_PROP_ID: ::DWORD = 113; | |
1691 | pub const CERT_SCEP_ENCRYPT_HASH_CNG_ALG_PROP_ID: ::DWORD = 114; | |
1692 | pub const CERT_SCEP_FLAGS_PROP_ID: ::DWORD = 115; | |
1693 | pub const CERT_SCEP_GUID_PROP_ID: ::DWORD = 116; | |
1694 | pub const CERT_SERIALIZABLE_KEY_CONTEXT_PROP_ID: ::DWORD = 117; | |
1695 | pub const CERT_ISOLATED_KEY_PROP_ID: ::DWORD = 118; | |
1696 | pub const CERT_FIRST_RESERVED_PROP_ID: ::DWORD = 119; | |
1697 | pub const CERT_LAST_RESERVED_PROP_ID: ::DWORD = 0x00007FFF; | |
1698 | pub const CERT_FIRST_USER_PROP_ID: ::DWORD = 0x00008000; | |
1699 | pub const CERT_LAST_USER_PROP_ID: ::DWORD = 0x0000FFFF; | |
1700 | pub const szOID_CERT_PROP_ID_PREFIX: &'static str = "1.3.6.1.4.1.311.10.11."; | |
1701 | pub const szOID_CERT_KEY_IDENTIFIER_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.20"; | |
1702 | pub const szOID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: &'static str | |
1703 | = "1.3.6.1.4.1.311.10.11.28"; | |
1704 | pub const szOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.29"; | |
1705 | pub const szOID_CERT_MD5_HASH_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.4"; | |
1706 | pub const szOID_CERT_SIGNATURE_HASH_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.15"; | |
1707 | pub const szOID_DISALLOWED_HASH: &'static str = szOID_CERT_SIGNATURE_HASH_PROP_ID; | |
1708 | pub const szOID_CERT_DISALLOWED_FILETIME_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.104"; | |
1709 | pub const CERT_ACCESS_STATE_WRITE_PERSIST_FLAG: ::DWORD = 0x1; | |
1710 | pub const CERT_ACCESS_STATE_SYSTEM_STORE_FLAG: ::DWORD = 0x2; | |
1711 | pub const CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG: ::DWORD = 0x4; | |
1712 | pub const CERT_ACCESS_STATE_GP_SYSTEM_STORE_FLAG: ::DWORD = 0x8; | |
1713 | pub const CERT_ACCESS_STATE_SHARED_USER_FLAG: ::DWORD = 0x10; | |
1714 | pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION: &'static str = "1.3.6.1.4.1.311.60.3.1"; | |
1715 | pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION: &'static str = "1.3.6.1.4.1.311.60.3.2"; | |
1716 | pub const szOID_ROOT_PROGRAM_NO_OCSP_FAILOVER_TO_CRL: &'static str = "1.3.6.1.4.1.311.60.3.3"; | |
1717 | STRUCT!{struct CRYPT_KEY_PROV_PARAM { | |
1718 | dwParam: ::DWORD, | |
1719 | pbData: *mut ::BYTE, | |
1720 | cbData: ::DWORD, | |
1721 | dwFlags: ::DWORD, | |
1722 | }} | |
1723 | pub type PCRYPT_KEY_PROV_PARAM = *mut CRYPT_KEY_PROV_PARAM; | |
1724 | STRUCT!{struct CRYPT_KEY_PROV_INFO { | |
1725 | pwszContainerName: ::LPWSTR, | |
1726 | pwszProvName: ::LPWSTR, | |
1727 | dwProvType: ::DWORD, | |
1728 | dwFlags: ::DWORD, | |
1729 | cProvParam: ::DWORD, | |
1730 | rgProvParam: PCRYPT_KEY_PROV_PARAM, | |
1731 | dwKeySpec: ::DWORD, | |
1732 | }} | |
1733 | pub type PCRYPT_KEY_PROV_INFO = *mut CRYPT_KEY_PROV_INFO; | |
1734 | pub const CERT_SET_KEY_PROV_HANDLE_PROP_ID: ::DWORD = 0x00000001; | |
1735 | pub const CERT_SET_KEY_CONTEXT_PROP_ID: ::DWORD = 0x00000001; | |
1736 | pub const CERT_NCRYPT_KEY_SPEC: ::DWORD = 0xFFFFFFFF; | |
1737 | //20213 | |
1738 | pub type HCERT_SERVER_OCSP_RESPONSE = *mut ::c_void; | |
1739 | STRUCT!{struct CERT_SERVER_OCSP_RESPONSE_CONTEXT { | |
1740 | cbSize: ::DWORD, | |
1741 | pbEncodedOcspResponse: *mut ::BYTE, | |
1742 | cbEncodedOcspResponse: ::DWORD, | |
1743 | }} | |
1744 | pub type PCERT_SERVER_OCSP_RESPONSE_CONTEXT = *mut CERT_SERVER_OCSP_RESPONSE_CONTEXT; | |
1745 | pub type PCCERT_SERVER_OCSP_RESPONSE_CONTEXT = *const CERT_SERVER_OCSP_RESPONSE_CONTEXT; | |
1746 | ||
1747 | pub const CERT_CHAIN_CACHE_END_CERT: ::DWORD = 0x00000001; | |
1748 | pub const CERT_CHAIN_THREAD_STORE_SYNC: ::DWORD = 0x00000002; | |
1749 | pub const CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL: ::DWORD = 0x00000004; | |
1750 | pub const CERT_CHAIN_USE_LOCAL_MACHINE_STORE: ::DWORD = 0x00000008; | |
1751 | pub const CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE: ::DWORD = 0x00000010; | |
1752 | pub const CERT_CHAIN_ENABLE_SHARE_STORE: ::DWORD = 0x00000020; | |
1753 | ||
1754 | STRUCT!{struct CERT_CHAIN_ENGINE_CONFIG { | |
1755 | cbSize: ::DWORD, | |
1756 | hRestrictedRoot: HCERTSTORE, | |
1757 | hRestrictedTrust: HCERTSTORE, | |
1758 | hRestrictedOther: HCERTSTORE, | |
1759 | cAdditionalStore: ::DWORD, | |
1760 | rghAdditionalStore: *mut HCERTSTORE, | |
1761 | dwFlags: ::DWORD, | |
1762 | dwUrlRetrievalTimeout: ::DWORD, | |
1763 | MaximumCachedCertificates: ::DWORD, | |
1764 | CycleDetectionModulus: ::DWORD, | |
1765 | // #if (NTDDI_VERSION >= NTDDI_WIN7) | |
1766 | hExclusiveRoot: HCERTSTORE, | |
1767 | hExclusiveTrustedPeople: HCERTSTORE, | |
1768 | // #if (NTDDI_VERSION >= NTDDI_WIN8) | |
1769 | dwExclusiveFlags: ::DWORD, | |
1770 | }} | |
1771 | pub type PCERT_CHAIN_ENGINE_CONFIG = *mut CERT_CHAIN_ENGINE_CONFIG; | |
1772 | // 18748 | |
1773 | pub type HCERTCHAINENGINE = ::HANDLE; | |
1774 | pub type PFN_CERT_CREATE_CONTEXT_SORT_FUNC = Option<unsafe extern "system" fn( | |
1775 | cbTotalEncoded: ::DWORD, cbRemainEncoded: ::DWORD, cEntry: ::DWORD, pvSort: *mut ::c_void | |
1776 | ) -> ::BOOL>; | |
1777 | STRUCT!{nodebug struct CERT_CREATE_CONTEXT_PARA { | |
1778 | cbSize: ::DWORD, | |
1779 | pfnFree: PFN_CRYPT_FREE, | |
1780 | pvFree: *mut ::c_void, | |
1781 | pfnSort: PFN_CERT_CREATE_CONTEXT_SORT_FUNC, | |
1782 | pvSort: *mut ::c_void, | |
1783 | }} | |
1784 | pub type PCERT_CREATE_CONTEXT_PARA = *mut CERT_CREATE_CONTEXT_PARA; | |
1785 | STRUCT!{struct CERT_EXTENSIONS { | |
1786 | cExtension: ::DWORD, | |
1787 | rgExtension: PCERT_EXTENSION, | |
1788 | }} | |
1789 | pub type PCERT_EXTENSIONS = *mut CERT_EXTENSIONS; | |
1790 | STRUCT!{struct CERT_REVOCATION_CRL_INFO { | |
1791 | cbSize: ::DWORD, | |
1792 | pBaseCrlContext: PCCRL_CONTEXT, | |
1793 | pDeltaCrlContext: PCCRL_CONTEXT, | |
1794 | pCrlEntry: PCRL_ENTRY, | |
1795 | fDeltaCrlEntry: ::BOOL, | |
1796 | }} | |
1797 | pub type PCERT_REVOCATION_CRL_INFO = *mut CERT_REVOCATION_CRL_INFO; | |
1798 | STRUCT!{struct CERT_TRUST_STATUS { | |
1799 | dwErrorStatus: ::DWORD, | |
1800 | dwInfoStatus: ::DWORD, | |
1801 | }} | |
1802 | pub type PCERT_TRUST_STATUS = *mut CERT_TRUST_STATUS; | |
1803 | STRUCT!{struct CERT_REVOCATION_INFO { | |
1804 | cbSize: ::DWORD, | |
1805 | dwRevocationResult: ::DWORD, | |
1806 | pszRevocationOid: ::LPCSTR, | |
1807 | pvOidSpecificInfo: ::LPVOID, | |
1808 | fHasFreshnessTime: ::BOOL, | |
1809 | dwFreshnessTime: ::DWORD, | |
1810 | pCrlInfo: PCERT_REVOCATION_CRL_INFO, | |
1811 | }} | |
1812 | pub type PCERT_REVOCATION_INFO = *mut CERT_REVOCATION_INFO; | |
1813 | STRUCT!{struct CERT_TRUST_LIST_INFO { | |
1814 | cbSize: ::DWORD, | |
1815 | pCtlEntry: PCTL_ENTRY, | |
1816 | pCtlContext: PCCTL_CONTEXT, | |
1817 | }} | |
1818 | pub type PCERT_TRUST_LIST_INFO = *mut CERT_TRUST_LIST_INFO; | |
1819 | STRUCT!{struct CERT_CHAIN_ELEMENT { | |
1820 | cbSize: ::DWORD, | |
1821 | pCertContext: PCCERT_CONTEXT, | |
1822 | TrustStatus: CERT_TRUST_STATUS, | |
1823 | pRevocationInfo: PCERT_REVOCATION_INFO, | |
1824 | pIssuanceUsage: PCERT_ENHKEY_USAGE, | |
1825 | pApplicationUsage: PCERT_ENHKEY_USAGE, | |
1826 | pwszExtendedErrorInfo: ::LPWSTR, | |
1827 | }} | |
1828 | pub type PCERT_CHAIN_ELEMENT = *mut CERT_CHAIN_ELEMENT; | |
1829 | pub type PCCERT_CHAIN_ELEMENT = *const CERT_CHAIN_ELEMENT; | |
1830 | STRUCT!{struct CERT_SIMPLE_CHAIN { | |
1831 | cbSize: ::DWORD, | |
1832 | TrustStatus: CERT_TRUST_STATUS, | |
1833 | cElement: ::DWORD, | |
1834 | rgpElement: *mut PCERT_CHAIN_ELEMENT, | |
1835 | pTrustListInfo: PCERT_TRUST_LIST_INFO, | |
1836 | fHasRevocationFreshnessTime: ::BOOL, | |
1837 | dwRevocationFreshnessTime: ::DWORD, | |
1838 | }} | |
1839 | pub type PCERT_SIMPLE_CHAIN = *mut CERT_SIMPLE_CHAIN; | |
1840 | pub type PCCERT_SIMPLE_CHAIN = *const CERT_SIMPLE_CHAIN; | |
1841 | STRUCT!{struct CERT_CHAIN_CONTEXT { | |
1842 | cbSize: ::DWORD, | |
1843 | TrustStatus: CERT_TRUST_STATUS, | |
1844 | cChain: ::DWORD, | |
1845 | rgpChain: *mut PCERT_SIMPLE_CHAIN, | |
1846 | cLowerQualityChainContext: ::DWORD, | |
1847 | rgpLowerQualityChainContext: *mut PCCERT_CHAIN_CONTEXT, | |
1848 | fHasRevocationFreshnessTime: ::BOOL, | |
1849 | dwRevocationFreshnessTime: ::DWORD, | |
1850 | dwCreateFlags: ::DWORD, | |
1851 | ChainId: ::GUID, | |
1852 | }} | |
1853 | pub type PCERT_CHAIN_CONTEXT = *mut CERT_CHAIN_CONTEXT; | |
1854 | pub type PCCERT_CHAIN_CONTEXT = *const CERT_CHAIN_CONTEXT; | |
1855 | STRUCT!{struct CERT_PHYSICAL_STORE_INFO { | |
1856 | cbSize: ::DWORD, | |
1857 | pszOpenStoreProvider: ::LPSTR, | |
1858 | dwOpenEncodingType: ::DWORD, | |
1859 | dwOpenFlags: ::DWORD, | |
1860 | OpenParameters: CRYPT_DATA_BLOB, | |
1861 | dwFlags: ::DWORD, | |
1862 | dwPriority: ::DWORD, | |
1863 | }} | |
1864 | pub type PCERT_PHYSICAL_STORE_INFO = *mut CERT_PHYSICAL_STORE_INFO; | |
1865 | STRUCT!{struct CERT_SYSTEM_STORE_INFO { | |
1866 | cbSize: ::DWORD, | |
1867 | }} | |
1868 | pub type PCERT_SYSTEM_STORE_INFO = *mut CERT_SYSTEM_STORE_INFO; | |
1869 | //13401 | |
1870 | pub type PFN_CERT_ENUM_SYSTEM_STORE_LOCATION = Option<unsafe extern "system" fn( | |
1871 | pwszStoreLocation: ::LPCWSTR, dwFlags: ::DWORD, pvReserved: *mut ::c_void, pvArg: *mut ::c_void, | |
1872 | ) -> ::BOOL>; | |
1873 | //13408 | |
1874 | pub type PFN_CERT_ENUM_SYSTEM_STORE = Option<unsafe extern "system" fn( | |
1875 | pvSystemStore: *const ::c_void, dwFlags: ::DWORD, pStoreInfo: PCERT_SYSTEM_STORE_INFO, | |
1876 | pvReserved: *mut ::c_void, pvArg: *mut ::c_void, | |
1877 | ) -> ::BOOL>; | |
1878 | //13416 | |
1879 | pub type PFN_CERT_ENUM_PHYSICAL_STORE = Option<unsafe extern "system" fn( | |
1880 | pvSystemStore: *const ::c_void, dwFlags: ::DWORD, pwszStoreName: ::LPCWSTR, | |
1881 | pStoreInfo: PCERT_PHYSICAL_STORE_INFO, pvReserved: *mut ::c_void, pvArg: *mut ::c_void, | |
1882 | ) -> ::BOOL>; | |
1883 | STRUCT!{struct CERT_STRONG_SIGN_SERIALIZED_INFO { | |
1884 | dwFlags: ::DWORD, | |
1885 | pwszCNGSignHashAlgids: ::LPWSTR, | |
1886 | pwszCNGPubKeyMinBitLengths: ::LPWSTR, | |
1887 | }} | |
1888 | pub type PCERT_STRONG_SIGN_SERIALIZED_INFO = *mut CERT_STRONG_SIGN_SERIALIZED_INFO; | |
1889 | STRUCT!{struct CERT_STRONG_SIGN_PARA { | |
1890 | cbSize: ::DWORD, | |
1891 | dwInfoChoice: ::DWORD, | |
1892 | pvInfo: *mut ::c_void, | |
1893 | }} | |
1894 | UNION!( | |
1895 | CERT_STRONG_SIGN_PARA, pvInfo, pSerializedInfo, pSerializedInfo_mut, | |
1896 | PCERT_STRONG_SIGN_SERIALIZED_INFO | |
1897 | ); | |
1898 | UNION!(CERT_STRONG_SIGN_PARA, pvInfo, pszOID, pszOID_mut, ::LPSTR); | |
1899 | pub type PCERT_STRONG_SIGN_PARA = *mut CERT_STRONG_SIGN_PARA; | |
1900 | pub type PCCERT_STRONG_SIGN_PARA = *const CERT_STRONG_SIGN_PARA; | |
1901 | pub const USAGE_MATCH_TYPE_AND: ::DWORD = 0x00000000; | |
1902 | pub const USAGE_MATCH_TYPE_OR: ::DWORD = 0x00000001; | |
1903 | STRUCT!{struct CERT_USAGE_MATCH { | |
1904 | dwType: ::DWORD, | |
1905 | Usage: CERT_ENHKEY_USAGE, | |
1906 | }} | |
1907 | pub type PCERT_USAGE_MATCH = *mut CERT_USAGE_MATCH; | |
1908 | STRUCT!{struct CERT_CHAIN_PARA { | |
1909 | cbSize: ::DWORD, | |
1910 | RequestedUsage: CERT_USAGE_MATCH, | |
1911 | RequestedIssuancePolicy: CERT_USAGE_MATCH, | |
1912 | dwUrlRetrievalTimeout: ::DWORD, | |
1913 | fCheckRevocationFreshnessTime: ::BOOL, | |
1914 | dwRevocationFreshnessTime: ::DWORD, | |
1915 | pftCacheResync: ::LPFILETIME, | |
1916 | pStrongSignPara: PCCERT_STRONG_SIGN_PARA, | |
1917 | dwStrongSignFlags: ::DWORD, | |
1918 | }} | |
1919 | pub type PCERT_CHAIN_PARA = *mut CERT_CHAIN_PARA; | |
1920 | STRUCT!{struct CERT_SELECT_CHAIN_PARA { | |
1921 | hChainEngine: HCERTCHAINENGINE, | |
1922 | pTime: ::PFILETIME, | |
1923 | hAdditionalStore: HCERTSTORE, | |
1924 | pChainPara: PCERT_CHAIN_PARA, | |
1925 | dwFlags: ::DWORD, | |
1926 | }} | |
1927 | pub type PCERT_SELECT_CHAIN_PARA = *mut CERT_SELECT_CHAIN_PARA; | |
1928 | pub type PCCERT_SELECT_CHAIN_PARA = *const CERT_SELECT_CHAIN_PARA; | |
1929 | STRUCT!{struct CERT_SELECT_CRITERIA { | |
1930 | dwType: ::DWORD, | |
1931 | cPara: ::DWORD, | |
1932 | ppPara: *mut *mut ::c_void, | |
1933 | }} | |
1934 | pub type PCERT_SELECT_CRITERIA = *mut CERT_SELECT_CRITERIA; | |
1935 | pub type PCCERT_SELECT_CRITERIA = *const CERT_SELECT_CRITERIA; | |
1936 | STRUCT!{struct CTL_VERIFY_USAGE_PARA { | |
1937 | cbSize: ::DWORD, | |
1938 | ListIdentifier: CRYPT_DATA_BLOB, | |
1939 | cCtlStore: ::DWORD, | |
1940 | rghCtlStore: *mut HCERTSTORE, | |
1941 | cSignerStore: ::DWORD, | |
1942 | rghSignerStore: *mut HCERTSTORE, | |
1943 | }} | |
1944 | pub type PCTL_VERIFY_USAGE_PARA = *mut CTL_VERIFY_USAGE_PARA; | |
1945 | STRUCT!{struct CTL_VERIFY_USAGE_STATUS { | |
1946 | cbSize: ::DWORD, | |
1947 | dwError: ::DWORD, | |
1948 | dwFlags: ::DWORD, | |
1949 | ppCtl: *mut PCCTL_CONTEXT, | |
1950 | dwCtlEntryIndex: ::DWORD, | |
1951 | ppSigner: *mut PCCERT_CONTEXT, | |
1952 | dwSignerIndex: ::DWORD, | |
1953 | }} | |
1954 | pub type PCTL_VERIFY_USAGE_STATUS = *mut CTL_VERIFY_USAGE_STATUS; | |
1955 | STRUCT!{struct CERT_CHAIN_POLICY_PARA { | |
1956 | cbSize: ::DWORD, | |
1957 | dwFlags: ::DWORD, | |
1958 | pvExtraPolicyPara: *mut ::c_void, | |
1959 | }} | |
1960 | pub type PCERT_CHAIN_POLICY_PARA = *mut CERT_CHAIN_POLICY_PARA; | |
1961 | STRUCT!{struct CERT_CHAIN_POLICY_STATUS { | |
1962 | cbSize: ::DWORD, | |
1963 | dwError: ::DWORD, | |
1964 | lChainIndex: ::LONG, | |
1965 | lElementIndex: ::LONG, | |
1966 | pvExtraPolicyStatus: *mut ::c_void, | |
1967 | }} | |
1968 | pub type PCERT_CHAIN_POLICY_STATUS = *mut CERT_CHAIN_POLICY_STATUS; | |
1969 | STRUCT!{struct CERT_REVOCATION_CHAIN_PARA { | |
1970 | cbSize: ::DWORD, | |
1971 | hChainEngine: HCERTCHAINENGINE, | |
1972 | hAdditionalStore: HCERTSTORE, | |
1973 | dwChainFlags: ::DWORD, | |
1974 | dwUrlRetrievalTimeout: ::DWORD, | |
1975 | pftCurrentTime: ::LPFILETIME, | |
1976 | pftCacheResync: ::LPFILETIME, | |
1977 | }} | |
1978 | pub type PCERT_REVOCATION_CHAIN_PARA = *mut CERT_REVOCATION_CHAIN_PARA; | |
1979 | STRUCT!{struct CERT_REVOCATION_PARA { | |
1980 | cbSize: ::DWORD, | |
1981 | pIssuerCert: PCCERT_CONTEXT, | |
1982 | cCertStore: ::DWORD, | |
1983 | rgCertStore: *mut HCERTSTORE, | |
1984 | hCrlStore: HCERTSTORE, | |
1985 | pftTimeToUse: ::LPFILETIME, | |
1986 | dwUrlRetrievalTimeout: ::DWORD, | |
1987 | fCheckFreshnessTime: ::BOOL, | |
1988 | dwFreshnessTime: ::DWORD, | |
1989 | pftCurrentTime: ::LPFILETIME, | |
1990 | pCrlInfo: PCERT_REVOCATION_CRL_INFO, | |
1991 | pftCacheResync: ::LPFILETIME, | |
1992 | pChainPara: PCERT_REVOCATION_CHAIN_PARA, | |
1993 | }} | |
1994 | pub type PCERT_REVOCATION_PARA = *mut CERT_REVOCATION_PARA; | |
1995 | STRUCT!{struct CERT_REVOCATION_STATUS { | |
1996 | cbSize: ::DWORD, | |
1997 | dwIndex: ::DWORD, | |
1998 | dwError: ::DWORD, | |
1999 | dwReason: ::DWORD, | |
2000 | fHasFreshnessTime: ::BOOL, | |
2001 | dwFreshnessTime: ::DWORD, | |
2002 | }} | |
2003 | pub type PCERT_REVOCATION_STATUS = *mut CERT_REVOCATION_STATUS; | |
2004 | //16990 | |
2005 | pub type HCRYPTASYNC = ::HANDLE; | |
2006 | pub type PHCRYPTASYNC = *mut ::HANDLE; | |
2007 | STRUCT!{struct CRYPT_ENCRYPT_MESSAGE_PARA { | |
2008 | cbSize: ::DWORD, | |
2009 | dwMsgEncodingType: ::DWORD, | |
2010 | hCryptProv: HCRYPTPROV_LEGACY, | |
2011 | ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
2012 | pvEncryptionAuxInfo: *mut ::c_void, | |
2013 | dwFlags: ::DWORD, | |
2014 | dwInnerContentType: ::DWORD, | |
2015 | }} | |
2016 | pub type PCRYPT_ENCRYPT_MESSAGE_PARA = *mut CRYPT_DECRYPT_MESSAGE_PARA; | |
2017 | STRUCT!{struct CRYPT_DECRYPT_MESSAGE_PARA { | |
2018 | cbSize: ::DWORD, | |
2019 | dwMsgAndCertEncodingType: ::DWORD, | |
2020 | cCertStore: ::DWORD, | |
2021 | rghCertStore: *mut HCERTSTORE, | |
2022 | dwFlags: ::DWORD, | |
2023 | }} | |
2024 | pub type PCRYPT_DECRYPT_MESSAGE_PARA = *mut CRYPT_DECRYPT_MESSAGE_PARA; | |
2025 | pub type PFN_CRYPT_GET_SIGNER_CERTIFICATE = Option<unsafe extern "system" fn( | |
2026 | pvGetArg: *mut ::c_void, dwCertEncodingType: ::DWORD, pSignerId: PCERT_INFO, | |
2027 | hMsgCertStore: HCERTSTORE, | |
2028 | ) -> PCCERT_CONTEXT>; | |
2029 | STRUCT!{nodebug struct CRYPT_VERIFY_MESSAGE_PARA { | |
2030 | cbSize: ::DWORD, | |
2031 | dwMsgAndCertEncodingType: ::DWORD, | |
2032 | hCryptProv: HCRYPTPROV_LEGACY, | |
2033 | pfnGetSignerCertificate: PFN_CRYPT_GET_SIGNER_CERTIFICATE, | |
2034 | pvGetArg: *mut ::c_void, | |
2035 | pStrongSignPara: PCCERT_STRONG_SIGN_PARA, | |
2036 | }} | |
2037 | pub type PCRYPT_VERIFY_MESSAGE_PARA = *mut CRYPT_VERIFY_MESSAGE_PARA; | |
2038 | STRUCT!{struct CRYPT_OID_INFO { | |
2039 | cbSize: ::DWORD, | |
2040 | oszOID: ::LPCSTR, | |
2041 | pwszName: ::LPCWSTR, | |
2042 | dwGroupId: ::DWORD, | |
2043 | dwValue: ::DWORD, | |
2044 | ExtraInfo: CRYPT_DATA_BLOB, | |
2045 | pwszCNGAlgid: ::LPCWSTR, | |
2046 | pwszCNGExtraAlgid: ::LPCWSTR, | |
2047 | }} | |
2048 | UNION!(CRYPT_OID_INFO, dwValue, Algid, Algid_mut, ALG_ID); | |
2049 | UNION!(CRYPT_OID_INFO, dwValue, dwLength, dwLength_mut, ::DWORD); | |
2050 | pub type PCRYPT_OID_INFO = *mut CRYPT_OID_INFO; | |
2051 | pub type PCCRYPT_OID_INFO = *const CRYPT_OID_INFO; | |
2052 | //18004 | |
2053 | pub type PFN_CRYPT_ENUM_KEYID_PROP = Option<unsafe extern "system" fn( | |
2054 | pKeyIdentifier: *const CRYPT_HASH_BLOB, dwFlags: ::DWORD, pvReserved: *mut ::c_void, | |
2055 | pvArg: *mut ::c_void, cProp: ::DWORD, rgdwPropId: *mut ::DWORD, rgpvData: *mut *mut ::c_void, | |
2056 | rgcbData: *mut ::DWORD, | |
2057 | ) -> ::BOOL>; | |
2058 | //6379 | |
2059 | pub type PFN_CRYPT_ENUM_OID_FUNC = Option<unsafe extern "system" fn( | |
2060 | dwEncodingType: ::DWORD, pszFuncName: ::LPCSTR, pszOID: ::LPCSTR, cValue: ::DWORD, | |
2061 | rgdwValueType: *const ::DWORD, rgpwszValueName: *const ::LPCWSTR, | |
2062 | rgpbValueData: *const *const ::BYTE, rgcbValueData: *const ::DWORD, pvArg: *mut ::c_void, | |
2063 | ) -> ::BOOL>; | |
2064 | //6675 | |
2065 | pub type PFN_CRYPT_ENUM_OID_INFO = Option<unsafe extern "system" fn( | |
2066 | pInfo: PCCRYPT_OID_INFO, pvArg: *mut ::c_void, | |
2067 | ) -> ::BOOL>; | |
2068 | //6022 | |
2069 | pub type HCRYPTOIDFUNCSET = *mut ::c_void; | |
2070 | pub type HCRYPTOIDFUNCADDR = *mut ::c_void; | |
2071 | pub type PFN_CRYPT_ASYNC_PARAM_FREE_FUNC = Option<unsafe extern "system" fn( | |
2072 | pszParamOid: ::LPSTR, pvParam: ::LPVOID, | |
2073 | )>; | |
2074 | STRUCT!{struct CRYPT_HASH_MESSAGE_PARA { | |
2075 | cbSize: ::DWORD, | |
2076 | dwMsgEncodingType: ::DWORD, | |
2077 | hCryptProv: HCRYPTPROV_LEGACY, | |
2078 | HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
2079 | pvHashAuxInfo: *mut ::c_void, | |
2080 | }} | |
2081 | pub type PCRYPT_HASH_MESSAGE_PARA = *mut CRYPT_HASH_MESSAGE_PARA; | |
2082 | //14750 | |
2083 | pub type HCRYPTDEFAULTCONTEXT = *mut ::c_void; | |
2084 | STRUCT!{struct CRYPT_OID_FUNC_ENTRY { | |
2085 | pszOID: ::LPCSTR, | |
2086 | pvFuncAddr: *mut ::c_void, | |
2087 | }} | |
2088 | pub type PCRYPT_OID_FUNC_ENTRY = *mut CRYPT_OID_FUNC_ENTRY; | |
2089 | STRUCT!{struct CMSG_SIGNER_ENCODE_INFO { | |
2090 | cbSize: ::DWORD, | |
2091 | pCertInfo: PCERT_INFO, | |
2092 | hCryptProv: HCRYPTPROV, | |
2093 | dwKeySpec: ::DWORD, | |
2094 | HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
2095 | pvHashAuxInfo: *mut ::c_void, | |
2096 | cAuthAttr: ::DWORD, | |
2097 | rgAuthAttr: PCRYPT_ATTRIBUTE, | |
2098 | cUnauthAttr: ::DWORD, | |
2099 | rgUnauthAttr: PCRYPT_ATTRIBUTE, | |
2100 | }} | |
2101 | UNION!(CMSG_SIGNER_ENCODE_INFO, hCryptProv, hNCryptKey, hNCryptKey_mut, ::NCRYPT_KEY_HANDLE); | |
2102 | pub type PCMSG_SIGNER_ENCODE_INFO = *mut CMSG_SIGNER_ENCODE_INFO; | |
2103 | STRUCT!{struct CMSG_SIGNED_ENCODE_INFO { | |
2104 | cbSize: ::DWORD, | |
2105 | cSigners: ::DWORD, | |
2106 | rgSigners: PCMSG_SIGNER_ENCODE_INFO, | |
2107 | cCertEncoded: ::DWORD, | |
2108 | rgCertEncoded: PCERT_BLOB, | |
2109 | cCrlEncoded: ::DWORD, | |
2110 | rgCrlEncoded: PCRL_BLOB, | |
2111 | }} | |
2112 | pub type PCMSG_SIGNED_ENCODE_INFO = *mut CMSG_SIGNED_ENCODE_INFO; | |
2113 | //7393 | |
2114 | pub type PFN_CMSG_STREAM_OUTPUT = Option<unsafe extern "system" fn( | |
2115 | pvArg: *const ::c_void, pbData: *mut ::BYTE, cbData: ::DWORD, fFinal: ::BOOL, | |
2116 | ) -> ::BOOL>; | |
2117 | STRUCT!{nodebug struct CMSG_STREAM_INFO { | |
2118 | cbContent: ::DWORD, | |
2119 | pfnStreamOutput: PFN_CMSG_STREAM_OUTPUT, | |
2120 | pvArg: *mut ::c_void, | |
2121 | }} | |
2122 | pub type PCMSG_STREAM_INFO = *mut CMSG_STREAM_INFO; | |
2123 | STRUCT!{struct CRYPT_TIMESTAMP_ACCURACY { | |
2124 | dwSeconds: ::DWORD, | |
2125 | dwMillis: ::DWORD, | |
2126 | dwMicros: ::DWORD, | |
2127 | }} | |
2128 | pub type PCRYPT_TIMESTAMP_ACCURACY = *mut CRYPT_TIMESTAMP_ACCURACY; | |
2129 | STRUCT!{struct CRYPT_TIMESTAMP_INFO { | |
2130 | dwVersion: ::DWORD, | |
2131 | pszTSAPolicyId: ::LPSTR, | |
2132 | HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
2133 | HashedMessage: CRYPT_DER_BLOB, | |
2134 | SerialNumber: CRYPT_INTEGER_BLOB, | |
2135 | ftTime: ::FILETIME, | |
2136 | pvAccuracy: PCRYPT_TIMESTAMP_ACCURACY, | |
2137 | fOrdering: ::BOOL, | |
2138 | Nonce: CRYPT_DER_BLOB, | |
2139 | Tsa: CRYPT_DER_BLOB, | |
2140 | cExtension: ::DWORD, | |
2141 | rgExtension: PCERT_EXTENSION, | |
2142 | }} | |
2143 | pub type PCRYPT_TIMESTAMP_INFO = *mut CRYPT_TIMESTAMP_INFO; | |
2144 | STRUCT!{struct CRYPT_TIMESTAMP_CONTEXT { | |
2145 | cbEncoded: ::DWORD, | |
2146 | pbEncoded: *mut ::BYTE, | |
2147 | pTimeStamp: PCRYPT_TIMESTAMP_INFO, | |
2148 | }} | |
2149 | pub type PCRYPT_TIMESTAMP_CONTEXT = *mut CRYPT_TIMESTAMP_CONTEXT; | |
2150 | STRUCT!{struct CRYPT_TIMESTAMP_PARA { | |
2151 | pszTSAPolicyId: ::LPCSTR, | |
2152 | fRequestCerts: ::BOOL, | |
2153 | Nonce: CRYPT_INTEGER_BLOB, | |
2154 | cExtension: ::DWORD, | |
2155 | rgExtension: PCERT_EXTENSION, | |
2156 | }} | |
2157 | pub type PCRYPT_TIMESTAMP_PARA = *mut CRYPT_TIMESTAMP_PARA; | |
2158 | STRUCT!{struct CRYPT_SIGN_MESSAGE_PARA { | |
2159 | cbSize: ::DWORD, | |
2160 | dwMsgEncodingType: ::DWORD, | |
2161 | pSigningCert: PCCERT_CONTEXT, | |
2162 | HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
2163 | pvHashAuxInfo: *mut ::c_void, | |
2164 | cMsgCert: ::DWORD, | |
2165 | rgpMsgCert: *mut PCCERT_CONTEXT, | |
2166 | cMsgCrl: ::DWORD, | |
2167 | rgpMsgCrl: *mut PCCRL_CONTEXT, | |
2168 | cAuthAttr: ::DWORD, | |
2169 | rgAuthAttr: PCRYPT_ATTRIBUTE, | |
2170 | cUnauthAttr: ::DWORD, | |
2171 | rgUnauthAttr: PCRYPT_ATTRIBUTE, | |
2172 | dwFlags: ::DWORD, | |
2173 | dwInnerContentType: ::DWORD, | |
2174 | }} | |
2175 | pub type PCRYPT_SIGN_MESSAGE_PARA = *mut CRYPT_SIGN_MESSAGE_PARA; | |
2176 | STRUCT!{struct CRYPT_KEY_SIGN_MESSAGE_PARA { | |
2177 | cbSize: ::DWORD, | |
2178 | dwMsgAndCertEncodingType: ::DWORD, | |
2179 | hCryptProv: HCRYPTPROV, | |
2180 | dwKeySpec: ::DWORD, | |
2181 | HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
2182 | pvHashAuxInfo: *mut ::c_void, | |
2183 | PubKeyAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, | |
2184 | }} | |
2185 | UNION!(CRYPT_KEY_SIGN_MESSAGE_PARA, hCryptProv, hNCryptKey, hNCryptKey_mut, ::NCRYPT_KEY_HANDLE); | |
2186 | pub type PCRYPT_KEY_SIGN_MESSAGE_PARA = *mut CRYPT_KEY_SIGN_MESSAGE_PARA; | |
2187 | STRUCT!{struct CRYPT_KEY_VERIFY_MESSAGE_PARA { | |
2188 | cbSize: ::DWORD, | |
2189 | dwMsgEncodingType: ::DWORD, | |
2190 | hCryptProv: HCRYPTPROV_LEGACY, | |
2191 | }} | |
2192 | pub type PCRYPT_KEY_VERIFY_MESSAGE_PARA = *mut CRYPT_KEY_VERIFY_MESSAGE_PARA; | |
2193 | STRUCT!{struct HTTPSPolicyCallbackData { | |
2194 | cbSize: ::DWORD, | |
2195 | dwAuthType: ::DWORD, | |
2196 | fdwChecks: ::DWORD, | |
2197 | pwszServerName: *mut ::WCHAR, | |
2198 | }} | |
2199 | pub type PHTTPSPolicyCallbackData = *mut HTTPSPolicyCallbackData; | |
2200 | pub type SSL_EXTRA_CERT_CHAIN_POLICY_PARA = HTTPSPolicyCallbackData; | |
2201 | pub type PSSL_EXTRA_CERT_CHAIN_POLICY_PARA = *mut HTTPSPolicyCallbackData; | |
2202 | pub const AUTHTYPE_CLIENT: ::DWORD = 1; | |
2203 | pub const AUTHTYPE_SERVER: ::DWORD = 2; | |
2204 | pub const CTL_ENTRY_FROM_PROP_CHAIN_FLAG: ::DWORD = 0x1; | |
2205 | pub const CMSG_ENCODE_SORTED_CTL_FLAG: ::DWORD = 0x1; | |
2206 | pub const CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: ::DWORD = 0x2; |