~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/include/cryptuiapi.h

Version: ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Copyright (C) 2008 Juan Lang
  3  *
  4  * This library is free software; you can redistribute it and/or
  5  * modify it under the terms of the GNU Lesser General Public
  6  * License as published by the Free Software Foundation; either
  7  * version 2.1 of the License, or (at your option) any later version.
  8  *
  9  * This library is distributed in the hope that it will be useful,
 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12  * Lesser General Public License for more details.
 13  *
 14  * You should have received a copy of the GNU Lesser General Public
 15  * License along with this library; if not, write to the Free Software
 16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 17  */
 18 #ifndef __CRYPTUIAPI_H__
 19 #define __CRYPTUIAPI_H__
 20 
 21 #include <wintrust.h>
 22 #include <wincrypt.h>
 23 #include <prsht.h>
 24 
 25 #ifdef __cplusplus
 26 extern "C" {
 27 #endif
 28 
 29 #include <pshpack8.h>
 30 
 31 BOOL WINAPI CryptUIDlgViewContext(DWORD dwContextType, LPVOID pvContext,
 32  HWND hwnd, LPCWSTR pwszTitle, DWORD dwFlags, LPVOID pvReserved);
 33 
 34 /* Values for dwDontUseColumn */
 35 #define CRYPTUI_SELECT_ISSUEDTO_COLUMN     0x00000001
 36 #define CRYPTUI_SELECT_ISSUEDBY_COLUMN     0x00000002
 37 #define CRYPTUI_SELECT_INTENDEDUSE_COLUMN  0x00000004
 38 #define CRYPTUI_SELECT_FRIENDLYNAME_COLUMN 0x00000008
 39 #define CRYPTUI_SELECT_LOCATION_COLUMN     0x00000010
 40 #define CRYPTUI_SELECT_EXPIRATION_COLUMN   0x00000020
 41 
 42 PCCERT_CONTEXT WINAPI CryptUIDlgSelectCertificateFromStore(
 43  HCERTSTORE hCertStore, HWND hwnd, LPCWSTR pwszTitle, LPCWSTR pwszDisplayString,
 44  DWORD dwDontUseColumn, DWORD dwFlags, LPVOID pvReserved);
 45 
 46 /* Values for CRYPTUI_CERT_MGR_STRUCT's dwFlags */
 47 #define CRYPTUI_CERT_MGR_PUBLISHER_TAB   0x00000004
 48 #define CRYPTUI_CERT_MGR_TAB_MASK        0x0000000f
 49 #define CRYPTUI_CERT_MGR_SINGLE_TAB_FLAG 0x00008000
 50 
 51 typedef struct _CRYPTUI_CERT_MGR_STRUCT
 52 {
 53     DWORD   dwSize;
 54     HWND    hwndParent;
 55     DWORD   dwFlags;
 56     LPCWSTR pwszTitle;
 57     LPCSTR  pszInitUsageOID;
 58 } CRYPTUI_CERT_MGR_STRUCT, *PCRYPTUI_CERT_MGR_STRUCT;
 59 typedef const struct _CRYPTUI_CERT_MGR_STRUCT *PCCRYPTUI_CERT_MGR_STRUCT;
 60 
 61 BOOL WINAPI CryptUIDlgCertMgr(PCCRYPTUI_CERT_MGR_STRUCT pCryptUICertMgr);
 62 
 63 typedef BOOL (WINAPI *PFNCFILTERPROC)(PCCERT_CONTEXT pCertContext,
 64  BOOL *pfInitialSelectedCert, void *pvCallbackData);
 65 
 66 typedef struct tagCRYPTUI_INITDIALOG_STRUCT
 67 {
 68     LPARAM         lParam;
 69     PCCERT_CONTEXT pCertContext;
 70 } CRYPTUI_INITDIALOG_STRUCT, *PCRYPTUI_INITDIALOG_STRUCT;
 71 
 72 /* Values for CRYPTUI_VIEWCERTIFICATE_STRUCT's dwFlags */
 73 #define CRYPTUI_HIDE_HIERARCHYPAGE               0x00000001
 74 #define CRYPTUI_HIDE_DETAILPAGE                  0x00000002
 75 #define CRYPTUI_DISABLE_EDITPROPERTIES           0x00000004
 76 #define CRYPTUI_ENABLE_EDITPROPERTIES            0x00000008
 77 #define CRYPTUI_DISABLE_ADDTOSTORE               0x00000010
 78 #define CRYPTUI_ENABLE_ADDTOSTORE                0x00000020
 79 #define CRYPTUI_ACCEPT_DECLINE_STYLE             0x00000040
 80 #define CRYPTUI_IGNORE_UNTRUSTED_ROOT            0x00000080
 81 #define CRYPTUI_DONT_OPEN_STORES                 0x00000100
 82 #define CRYPTUI_ONLY_OPEN_ROOT_STORE             0x00000200
 83 #define CRYPTUI_WARN_UNTRUSTED_ROOT              0x00000400
 84 #define CRYPTUI_ENABLE_REVOCATION_CHECKING       0x00000800
 85 #define CRYPTUI_WARN_REMOTE_TRUST                0x00001000
 86 #define CRYPTUI_DISABLE_EXPORT                   0x00002000
 87 #define CRYPTUI_ENABLE_REVOCATION_CHECK_END_CERT 0x00004000
 88 #define CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN    0x00008000
 89 #define CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT CRYPTUI_ENABLE_REVOCATION_CHECKING
 90 #define CRYPTUI_DISABLE_HTMLLINK                 0x00010000
 91 
 92 typedef struct tagCRYPTUI_VIEWCERTIFICATE_STRUCTA
 93 {
 94     DWORD             dwSize;
 95     HWND              hwndParent;
 96     DWORD             dwFlags;
 97     LPCSTR            szTitle;
 98     PCCERT_CONTEXT    pCertContext;
 99     LPCSTR           *rgszPurposes;
100     DWORD             cPurposes;
101     union {
102         CRYPT_PROVIDER_DATA const *pCryptProviderData;
103         HANDLE                     hWVTStateData;
104     } DUMMYUNIONNAME;
105     BOOL              fpCryptProviderDataTrustedUsage;
106     DWORD             idxSigner;
107     DWORD             idxCert;
108     BOOL              fCounterSigner;
109     DWORD             idxCounterSigner;
110     DWORD             cStores;
111     HCERTSTORE       *rghStores;
112     DWORD             cPropSheetPages;
113     LPCPROPSHEETPAGEA rgPropSheetPages;
114     DWORD             nStartPage;
115 } CRYPTUI_VIEWCERTIFICATE_STRUCTA, *PCRYPTUI_VIEWCERTIFICATE_STRUCTA;
116 typedef const CRYPTUI_VIEWCERTIFICATE_STRUCTA *PCCRYPTUI_VIEWCERTIFICATE_STRUCTA;
117 
118 typedef struct tagCRYPTUI_VIEWCERTIFICATE_STRUCTW
119 {
120     DWORD             dwSize;
121     HWND              hwndParent;
122     DWORD             dwFlags;
123     LPCWSTR           szTitle;
124     PCCERT_CONTEXT    pCertContext;
125     LPCSTR           *rgszPurposes;
126     DWORD             cPurposes;
127     union {
128         CRYPT_PROVIDER_DATA const *pCryptProviderData;
129         HANDLE                     hWVTStateData;
130     } DUMMYUNIONNAME;
131     BOOL              fpCryptProviderDataTrustedUsage;
132     DWORD             idxSigner;
133     DWORD             idxCert;
134     BOOL              fCounterSigner;
135     DWORD             idxCounterSigner;
136     DWORD             cStores;
137     HCERTSTORE       *rghStores;
138     DWORD             cPropSheetPages;
139     LPCPROPSHEETPAGEW rgPropSheetPages;
140     DWORD             nStartPage;
141 } CRYPTUI_VIEWCERTIFICATE_STRUCTW, *PCRYPTUI_VIEWCERTIFICATE_STRUCTW;
142 typedef const CRYPTUI_VIEWCERTIFICATE_STRUCTW *PCCRYPTUI_VIEWCERTIFICATE_STRUCTW;
143 
144 #define CRYPTUI_VIEWCERTIFICATE_STRUCT   WINELIB_NAME_AW(CRYPTUI_VIEWCERTIFICATE_STRUCT)
145 #define PCCRYPTUI_VIEWCERTIFICATE_STRUCT WINELIB_NAME_AW(PCCRYPTUI_VIEWCERTIFICATE_STRUCT)
146 
147 BOOL WINAPI CryptUIDlgViewCertificateA(
148  PCCRYPTUI_VIEWCERTIFICATE_STRUCTA pCertViewInfo, BOOL *pfPropertiesChanged);
149 BOOL WINAPI CryptUIDlgViewCertificateW(
150  PCCRYPTUI_VIEWCERTIFICATE_STRUCTW pCertViewInfo, BOOL *pfPropertiesChanged);
151 #define CryptUIDlgViewCertificate WINELIB_NAME_AW(CryptUIDlgViewCertificate)
152 
153 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO
154 {
155     DWORD   dwSize;
156     GUID   *pGuidSubject;
157     DWORD   cbBlob;
158     BYTE   *pbBlob;
159     LPCWSTR pwszDisplayName;
160 } CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO, *PCRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO;
161 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO *
162  PCCRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO;
163 
164 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO
165 {
166     DWORD          dwSize;
167     DWORD          cCertStore;
168     HCERTSTORE    *rghCertStore;
169     PFNCFILTERPROC pFilterCallback;
170     void          *pvCallbackData;
171 } CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO, *PCRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO;
172 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO *
173  PCCRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO;
174 
175 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO
176 {
177     DWORD  dwSize;
178     LPWSTR pwszPvkFileName;
179     LPWSTR pwszProvName;
180     DWORD  dwProvType;
181 } CRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO,
182  *PCRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO;
183 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO *
184  PCCRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO;
185 
186 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO
187 {
188     DWORD  dwSize;
189     LPWSTR pwszSigningCertFileName;
190     DWORD  dwPvkChoice;
191     union {
192         PCCRYPTUI_WIZ_DIGITAL_SIGN_PVK_FILE_INFO pPvkFileInfo;
193         PCRYPT_KEY_PROV_INFO                    pPvkProvInfo;
194     } DUMMYUNIONNAME;
195 } CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO,
196  *PCRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO;
197 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO *
198  PCCRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO;
199 
200 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO
201 {
202     DWORD             dwSize;
203     DWORD             dwAttrFlags;
204     LPCWSTR           pwszDescription;
205     LPCWSTR           pwszMoreInfoLocation;
206     LPCSTR            pszHashAlg;
207     LPCWSTR           pwszSigningCertDisplayString;
208     HCERTSTORE        hAdditionalCertStore;
209     PCRYPT_ATTRIBUTES psAuthenticated;
210     PCRYPT_ATTRIBUTES psUnauthenticated;
211 } CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO,
212  *PCRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO;
213 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO *
214  PCCRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO;
215 
216 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_INFO
217 {
218     DWORD   dwSize;
219     DWORD   dwSubjectChoice;
220     union {
221         LPCWSTR                              pwszFileName;
222         PCCRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO pSignBlobInfo;
223     } DUMMYUNIONNAME1;
224     DWORD   dwSigningCertChoice;
225     union {
226         PCCERT_CONTEXT                           pSigningCertContext;
227         PCCRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO    pSigningCertStore;
228         PCCRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO pSigningCertPvkInfo;
229     } DUMMYUNIONNAME2;
230     LPCWSTR pwszTimestampURL;
231     DWORD   dwAdditionalCertChoice;
232     PCCRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO pSignExtInfo;
233 } CRYPTUI_WIZ_DIGITAL_SIGN_INFO, *PCRYPTUI_WIZ_DIGITAL_SIGN_INFO;
234 typedef const CRYPTUI_WIZ_DIGITAL_SIGN_INFO *PCCRYPTUI_WIZ_DIGITAL_SIGN_INFO;
235 
236 typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT
237 {
238     DWORD dwSize;
239     DWORD cbBlob;
240     BYTE *pbBlob;
241 } CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT, *PCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT;
242 
243 /* Values for CryptUIWizDigitalSign's dwFlags */
244 #define CRYPTUI_WIZ_NO_UI                            0x00000001
245 #define CRYPTUI_WIZ_DIGITAL_SIGN_EXCLUDE_PAGE_HASHES 0x00000002
246 #define CRYPTUI_WIZ_DIGITAL_SIGN_INCLUDE_PAGE_HASHES 0x00000004
247 
248 BOOL WINAPI CryptUIWizDigitalSign(DWORD dwFlags, HWND hwndParent,
249  LPCWSTR pwszWizardTitle, PCCRYPTUI_WIZ_DIGITAL_SIGN_INFO pDigitalSignInfo,
250  PCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT *ppSignContext);
251 
252 BOOL WINAPI CryptUIWizFreeDigitalSignContext(
253  PCRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT pSignContext);
254 
255 /* Values for CRYPTUI_WIZ_EXPORT_INFO's dwSubjectChoice */
256 #define CRYPTUI_WIZ_EXPORT_CERT_CONTEXT                 1
257 #define CRYPTUI_WIZ_EXPORT_CTL_CONTEXT                  2
258 #define CRYPTUI_WIZ_EXPORT_CRL_CONTEXT                  3
259 #define CRYPTUI_WIZ_EXPORT_CERT_STORE                   4
260 #define CRYPTUI_WIZ_EXPORT_CERT_STORE_CERTIFICATES_ONLY 5
261 #define CRYPTUI_WIZ_EXPORT_FORMAT_CRL                   6
262 #define CRYPTUI_WIZ_EXPORT_FORMAT_CTL                   7
263 
264 typedef struct _CRYPTUI_WIZ_EXPORT_INFO
265 {
266     DWORD       dwSize;
267     LPCWSTR     pwszExportFileName;
268     DWORD       dwSubjectChoice;
269     union {
270         PCCERT_CONTEXT pCertContext;
271         PCCTL_CONTEXT  pCTLContext;
272         PCCRL_CONTEXT  pCRLContext;
273     } DUMMYUNIONNAME;
274     DWORD       cStores;
275     HCERTSTORE *rghStores;
276 } CRYPTUI_WIZ_EXPORT_INFO, *PCRYPTUI_WIZ_EXPORT_INFO;
277 typedef const CRYPTUI_WIZ_EXPORT_INFO *PCCRYPTUI_WIZ_EXPORT_INFO;
278 
279 /* Values for CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO's dwExportFormat */
280 #define CRYPTUI_WIZ_EXPORT_FORMAT_DER                   1
281 #define CRYPTUI_WIZ_EXPORT_FORMAT_PFX                   2
282 #define CRYPTUI_WIZ_EXPORT_FORMAT_PKCS7                 3
283 #define CRYPTUI_WIZ_EXPORT_FORMAT_BASE64                4
284 #define CRYPTUI_WIZ_EXPORT_FORMAT_SERIALIZED_CERT_STORE 5
285 
286 typedef struct _CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO
287 {
288     DWORD   dwSize;
289     DWORD   dwExportFormat;
290     BOOL    fExportChain;
291     BOOL    fExportPrivateKeys;
292     LPCWSTR pwszPassword;
293     BOOL    fStrongEncryption;
294 } CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO, *PCRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO;
295 typedef const CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO *
296  PCCRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO;
297 
298 BOOL WINAPI CryptUIWizExport(DWORD dwFlags, HWND hwndParent,
299  LPCWSTR pwszWizardTitle, PCCRYPTUI_WIZ_EXPORT_INFO pExportInfo, void *pvoid);
300 
301 /* Values for CRYPTUI_WIZ_IMPORT_SRC_INFO's dwSubjectChoice */
302 #define CRYPTUI_WIZ_IMPORT_SUBJECT_FILE         1
303 #define CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_CONTEXT 2
304 #define CRYPTUI_WIZ_IMPORT_SUBJECT_CTL_CONTEXT  3
305 #define CRYPTUI_WIZ_IMPORT_SUBJECT_CRL_CONTEXT  4
306 #define CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_STORE   5
307 
308 typedef struct _CRYPTUI_WIZ_IMPORT_SUBJECT_INFO
309 {
310     DWORD   dwSize;
311     DWORD   dwSubjectChoice;
312     union {
313         LPCWSTR        pwszFileName;
314         PCCERT_CONTEXT pCertContext;
315         PCCTL_CONTEXT  pCTLContext;
316         PCCRL_CONTEXT  pCRLContext;
317         HCERTSTORE     hCertStore;
318     } DUMMYUNIONNAME;
319     DWORD   dwFlags;
320     LPCWSTR pwszPassword;
321 } CRYPTUI_WIZ_IMPORT_SRC_INFO, *PCRYPTUI_WIZ_IMPORT_SRC_INFO;
322 typedef const CRYPTUI_WIZ_IMPORT_SRC_INFO *PCCRYPTUI_WIZ_IMPORT_SRC_INFO;
323 
324 /* Values for CryptUIWizImport's dwFlags */
325 #define CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE 0x00010000
326 #define CRYPTUI_WIZ_IMPORT_ALLOW_CERT           0x00020000
327 #define CRYPTUI_WIZ_IMPORT_ALLOW_CRL            0x00040000
328 #define CRYPTUI_WIZ_IMPORT_ALLOW_CTL            0x00080000
329 #define CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE      0x00100000
330 #define CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER       0x00200000
331 #define CRYPTUI_WIZ_IMPORT_REMOTE_DEST_STORE    0x00400000
332 
333 BOOL WINAPI CryptUIWizImport(DWORD dwFlags, HWND hwndParent,
334  LPCWSTR pwszWizardTitle, PCCRYPTUI_WIZ_IMPORT_SRC_INFO pImportSrc,
335  HCERTSTORE hDestCertStore);
336 
337 #include <poppack.h>
338 
339 #ifdef __cplusplus
340 }
341 #endif
342 
343 #endif
344 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.