ReactOS  0.4.13-dev-249-gcba1a2f
cryptui.c File Reference
#include <stdarg.h>
#include <stdio.h>
#include <windef.h>
#include <winbase.h>
#include <winerror.h>
#include <winuser.h>
#include <wincrypt.h>
#include <cryptuiapi.h>
#include "wine/test.h"
Include dependency graph for cryptui.c:

Go to the source code of this file.

Macros

#define NONAMELESSUNION
 

Functions

static LRESULT CALLBACK cbt_hook_proc (int code, WPARAM wp, LPARAM lp)
 
static BOOL (WINAPI *pCryptUIWizImport)(DWORD dwFlags
 
static BOOL find_and_delete_cert_in_store (HCERTSTORE store, PCCERT_CONTEXT cert)
 
static void test_crypt_ui_wiz_import (void)
 
 START_TEST (cryptui)
 

Variables

static BYTE v1CertWithValidPubKey []
 
static const BYTE iTunesCert1 []
 
static const BYTE iTunesCert2 []
 
static const BYTE iTunesCert3 []
 
static const BYTE signedCRL []
 
static HHOOK hook
 
static HWND hwndParent
 
static HWND LPCWSTR pwszWizardTitle
 
static HWND LPCWSTR PCCRYPTUI_WIZ_IMPORT_SRC_INFO pImportSrc
 
static HWND LPCWSTR PCCRYPTUI_WIZ_IMPORT_SRC_INFO HCERTSTORE hDestCertStore
 

Macro Definition Documentation

◆ NONAMELESSUNION

#define NONAMELESSUNION

Definition at line 22 of file cryptui.c.

Function Documentation

◆ BOOL()

static BOOL ( WINAPI pCryptUIWizImport)
static

◆ cbt_hook_proc()

static LRESULT CALLBACK cbt_hook_proc ( int  code,
WPARAM  wp,
LPARAM  lp 
)
static

Definition at line 295 of file cryptui.c.

296 {
297  return code == HCBT_CREATEWND ? 1: CallNextHookEx(hook, code, wp, lp);
298 }
#define HCBT_CREATEWND
Definition: winuser.h:58
static HHOOK hook
Definition: cryptui.c:294
LRESULT WINAPI CallNextHookEx(_In_opt_ HHOOK, _In_ int, _In_ WPARAM, _In_ LPARAM)

Referenced by test_crypt_ui_wiz_import().

◆ find_and_delete_cert_in_store()

static BOOL find_and_delete_cert_in_store ( HCERTSTORE  store,
PCCERT_CONTEXT  cert 
)
static

Definition at line 304 of file cryptui.c.

305 {
306  CERT_ID id;
307  PCCERT_CONTEXT found;
308 
309  id.dwIdChoice = CERT_ID_ISSUER_SERIAL_NUMBER;
310  memcpy(&id.u.IssuerSerialNumber.Issuer,
311  &cert->pCertInfo->Issuer, sizeof(CERT_NAME_BLOB));
312  memcpy(&id.u.IssuerSerialNumber.SerialNumber,
313  &cert->pCertInfo->SerialNumber, sizeof(CRYPT_INTEGER_BLOB));
315  CERT_FIND_CERT_ID, &id, NULL);
316  if (!found)
317  return FALSE;
318 
320 
321  return TRUE;
322 }
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
Definition: glfuncs.h:240
PCCERT_CONTEXT WINAPI CertFindCertificateInStore(HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFlags, DWORD dwType, const void *pvPara, PCCERT_CONTEXT pPrevCertContext)
Definition: cert.c:1765
#define TRUE
Definition: types.h:120
#define X509_ASN_ENCODING
Definition: wincrypt.h:2297
BOOL WINAPI CertDeleteCertificateFromStore(PCCERT_CONTEXT pCertContext)
Definition: store.c:943
smooth NULL
Definition: ftsmooth.c:416
static BYTE cert[]
Definition: msg.c:1437
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define CERT_ID_ISSUER_SERIAL_NUMBER
Definition: wincrypt.h:3673
GLenum GLuint id
Definition: glext.h:5579
#define CERT_FIND_CERT_ID
Definition: wincrypt.h:2907

Referenced by test_crypt_ui_wiz_import().

◆ START_TEST()

START_TEST ( cryptui  )

Definition at line 652 of file cryptui.c.

653 {
654  HMODULE lib = LoadLibraryA("cryptui");
655 
656  if (lib)
657  {
658  pCryptUIWizImport = (void *)GetProcAddress(lib, "CryptUIWizImport");
659 
661  FreeLibrary(lib);
662  }
663 }
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
Definition: loader.c:111
#define FreeLibrary(x)
Definition: compat.h:405
static void test_crypt_ui_wiz_import(void)
Definition: cryptui.c:324
#define GetProcAddress(x, y)
Definition: compat.h:410

◆ test_crypt_ui_wiz_import()

static void test_crypt_ui_wiz_import ( void  )
static

Definition at line 324 of file cryptui.c.

325 {
326  BOOL ret;
328  HCERTSTORE store;
331  DWORD count;
332 
333  if (!pCryptUIWizImport)
334  {
335  skip("No CryptUIWizImport\n");
336  return;
337  }
338 
339  /* Set CBT hook to disallow MessageBox and wizard creation in current
340  * thread.
341  */
343 
344  /* Brings up UI. Cancelling yields ret = 1. */
345  if (0)
346  {
347  pCryptUIWizImport(0, 0, NULL, NULL, NULL);
348  }
349  SetLastError(0xdeadbeef);
350  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI, 0, NULL, NULL, NULL);
351  ok(!ret && GetLastError() == E_INVALIDARG,
352  "expected E_INVALIDARG, got %08x\n", GetLastError());
353  memset(&info, 0, sizeof(info));
354  SetLastError(0xdeadbeef);
355  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI, 0, NULL, &info, NULL);
356  ok(!ret && GetLastError() == E_INVALIDARG,
357  "expected E_INVALIDARG, got %08x\n", GetLastError());
358  info.dwSize = sizeof(info);
359  SetLastError(0xdeadbeef);
360  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI, 0, NULL, &info, NULL);
361  ok(!ret && GetLastError() == E_INVALIDARG,
362  "expected E_INVALIDARG, got %08x\n", GetLastError());
364  SetLastError(0xdeadbeef);
365  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI, 0, NULL, &info, NULL);
366  ok(!ret && GetLastError() == E_INVALIDARG,
367  "expected E_INVALIDARG, got %08x\n", GetLastError());
368  SetLastError(0xdeadbeef);
370  0, NULL, &info, NULL);
371  ok(!ret && GetLastError() == E_INVALIDARG,
372  "expected E_INVALIDARG, got %08x\n", GetLastError());
373  /* Check allowed vs. given type mismatches */
376  SetLastError(0xdeadbeef);
377  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI | CRYPTUI_WIZ_IMPORT_ALLOW_CRL,
378  0, NULL, &info, NULL);
379  ok(!ret && GetLastError() == E_INVALIDARG,
380  "expected E_INVALIDARG, got %08x\n", GetLastError());
381  CertFreeCertificateContext(info.u.pCertContext);
384  signedCRL, sizeof(signedCRL));
385  SetLastError(0xdeadbeef);
387  0, NULL, &info, NULL);
388  ok(!ret && GetLastError() == E_INVALIDARG,
389  "expected E_INVALIDARG, got %08x\n", GetLastError());
390  CertFreeCRLContext(info.u.pCRLContext);
391  /* Imports the following cert--self-signed, with no basic constraints set--
392  * to the CA store. Puts up a dialog at the end if it succeeds or fails.
393  */
397  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI, 0, NULL, &info, NULL);
398  ok(ret, "CryptUIWizImport failed: %08x\n", GetLastError());
399  if (ret)
400  {
401  static const WCHAR CA[] = { 'C','A',0 };
404 
405  if (ca)
406  {
407  ret = find_and_delete_cert_in_store(ca, info.u.pCertContext);
408  ok(ret ||
409  broken(!ret) /* Win9x/NT4 */,
410  "expected to find v1CertWithValidPubKey in CA store\n");
411  CertCloseStore(ca, 0);
412  }
413  }
414  CertFreeCertificateContext(info.u.pCertContext);
415  /* Imports the following cert--not self-signed, with a basic constraints2
416  * extensions--to the "AddressBook" store. Puts up a dialog at the end if
417  * it succeeds or fails.
418  */
420  iTunesCert3, sizeof(iTunesCert3));
421  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI, 0, NULL, &info, NULL);
422  ok(ret, "CryptUIWizImport failed: %08x\n", GetLastError());
423  if (ret)
424  {
425  static const WCHAR AddressBook[] = { 'A','d','d','r','e','s','s',
426  'B','o','o','k',0 };
428  CERT_SYSTEM_STORE_CURRENT_USER, AddressBook);
429 
430  if (addressBook)
431  {
433  info.u.pCertContext);
434  ok(ret ||
435  broken(!ret), /* Windows 2000 and earlier */
436  "expected to find iTunesCert3 in AddressBook store\n");
438  }
439  }
440  /* Displays the wizard, but disables the "Certificate store" edit and
441  * the Browse button. Confusingly, the "Place all certificates in the
442  * following store" radio button is not disabled.
443  */
444  if (0)
445  {
446  ret = pCryptUIWizImport(CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE, 0,
447  NULL, &info, NULL);
448  ok(ret, "CryptUIWizImport failed: %08x\n", GetLastError());
449  }
452  /* Displays the wizard, but sets the "Certificate store" edit to the
453  * string "Determined by the program", and disables it and the Browse
454  * button, as well as the "Automatically select the certificate store
455  * based on the type of certificate" radio button.
456  */
457  if (0)
458  {
459  ret = pCryptUIWizImport(CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE, 0,
460  NULL, &info, store);
461  ok(ret, "CryptUIWizImport failed: %08x\n", GetLastError());
462  }
463  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI |
465  ok(ret, "CryptUIWizImport failed: %08x\n", GetLastError());
466  ret = find_and_delete_cert_in_store(store, info.u.pCertContext);
467  ok(ret ||
468  broken(!ret) /* Win9x/NT4 */,
469  "expected to find iTunesCert3 in memory store\n");
470  CertFreeCertificateContext(info.u.pCertContext);
471  CertCloseStore(store, 0);
472 
474  iTunesCert1, sizeof(iTunesCert1));
475  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI, 0, NULL, &info, NULL);
476  ok(ret, "CryptUIWizImport failed: %08x\n", GetLastError());
477  if (ret)
478  {
479  static const WCHAR AddressBook[] = { 'A','d','d','r','e','s','s',
480  'B','o','o','k',0 };
482  CERT_SYSTEM_STORE_CURRENT_USER, AddressBook);
483 
484  if (addressBook)
485  {
487  info.u.pCertContext);
488  ok(ret ||
489  broken(!ret), /* Windows 2000 and earlier */
490  "expected to find iTunesCert1 in AddressBook store\n");
492  }
493  }
494  CertFreeCertificateContext(info.u.pCertContext);
495 
497  iTunesCert2, sizeof(iTunesCert2));
498  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI, 0, NULL, &info, NULL);
499  ok(ret, "CryptUIWizImport failed: %08x\n", GetLastError());
500  if (ret)
501  {
502  static const WCHAR CA[] = { 'C','A',0 };
505 
506  if (ca)
507  {
508  ret = find_and_delete_cert_in_store(ca, info.u.pCertContext);
509  ok(ret ||
510  broken(!ret) /* Win9x/NT4 */,
511  "expected to find iTunesCert2 in CA store\n");
512  CertCloseStore(ca, 0);
513  }
514  }
515  CertFreeCertificateContext(info.u.pCertContext);
516 
517  info.u.hCertStore = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0,
525  /* The ALLOW flags aren't allowed with a store as the source if the source
526  * contains types other than those allowed.
527  */
530  SetLastError(0xdeadbeef);
532  0, NULL, &info, store);
533  ok(!ret && GetLastError() == E_INVALIDARG,
534  "expected E_INVALIDARG, got %08x\n", GetLastError());
535  SetLastError(0xdeadbeef);
536  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI | CRYPTUI_WIZ_IMPORT_ALLOW_CRL,
537  0, NULL, &info, store);
538  ok(!ret && GetLastError() == E_INVALIDARG,
539  "expected E_INVALIDARG, got %08x\n", GetLastError());
540  SetLastError(0xdeadbeef);
541  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI |
544  &info, store);
545  ok(ret, "CryptUIWizImport failed: %08x\n", GetLastError());
546  if (ret)
547  {
548  count = 0;
549  cert = NULL;
550  do {
552  if (cert)
553  count++;
554  } while (cert);
555  ok(count == 1, "expected 1 cert, got %d\n", count);
556  count = 0;
557  crl = NULL;
558  do {
559  crl = CertEnumCRLsInStore(store, crl);
560  if (crl)
561  count++;
562  } while (crl);
563  ok(count == 1, "expected 1 CRL, got %d\n", count);
564  }
565  CertCloseStore(store, 0);
566  CertCloseStore(info.u.hCertStore, 0);
567 
568  /* If the ALLOW flags match the content of the store, the store can be
569  * imported.
570  */
571  info.u.hCertStore = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0,
578  SetLastError(0xdeadbeef);
580  0, NULL, &info, store);
581  ok(ret, "CryptUIWizImport failed: %08x\n", GetLastError());
582  if (ret)
583  {
584  count = 0;
585  cert = NULL;
586  do {
588  if (cert)
589  count++;
590  } while (cert);
591  ok(count == 1, "expected 1 cert, got %d\n", count);
592  count = 0;
593  crl = NULL;
594  do {
595  crl = CertEnumCRLsInStore(store, crl);
596  if (crl)
597  count++;
598  } while (crl);
599  ok(count == 0, "expected 0 CRLs, got %d\n", count);
600  }
601  SetLastError(0xdeadbeef);
602  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI | CRYPTUI_WIZ_IMPORT_ALLOW_CRL,
603  0, NULL, &info, store);
604  ok(!ret && GetLastError() == E_INVALIDARG,
605  "expected E_INVALIDARG, got %08x\n", GetLastError());
606  CertCloseStore(store, 0);
607  CertCloseStore(info.u.hCertStore, 0);
608 
609  /* Again, if the ALLOW flags match the content of the store, the store can
610  * be imported.
611  */
612  info.u.hCertStore = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0,
618  SetLastError(0xdeadbeef);
619  ret = pCryptUIWizImport(CRYPTUI_WIZ_NO_UI | CRYPTUI_WIZ_IMPORT_ALLOW_CRL,
620  0, NULL, &info, store);
621  ok(ret, "CryptUIWizImport failed: %08x\n", GetLastError());
622  if (ret)
623  {
624  count = 0;
625  cert = NULL;
626  do {
628  if (cert)
629  count++;
630  } while (cert);
631  ok(count == 0, "expected 0 certs, got %d\n", count);
632  count = 0;
633  crl = NULL;
634  do {
635  crl = CertEnumCRLsInStore(store, crl);
636  if (crl)
637  count++;
638  } while (crl);
639  ok(count == 1, "expected 1 CRL, got %d\n", count);
640  }
641  SetLastError(0xdeadbeef);
643  0, NULL, &info, store);
644  ok(!ret && GetLastError() == E_INVALIDARG,
645  "expected E_INVALIDARG, got %08x\n", GetLastError());
646  CertCloseStore(store, 0);
647  CertCloseStore(info.u.hCertStore, 0);
648 
650 }
static const WCHAR CA[]
Definition: oid.c:73
static const WCHAR addressBook[]
Definition: main.c:455
static const BYTE crl[]
Definition: message.c:864
#define CRYPTUI_WIZ_NO_UI
Definition: cryptuiapi.h:246
PCCRL_CONTEXT WINAPI CertEnumCRLsInStore(HCERTSTORE hCertStore, PCCRL_CONTEXT pPrev)
Definition: store.c:1101
static HHOOK hook
Definition: cryptui.c:294
#define CRYPTUI_WIZ_IMPORT_ALLOW_CERT
Definition: cryptuiapi.h:329
static const BYTE iTunesCert3[]
Definition: cryptui.c:200
static const BYTE signedCRL[]
Definition: cryptui.c:286
GLuint GLuint GLsizei count
Definition: gl.h:1545
BOOL WINAPI CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
Definition: cert.c:371
BOOL WINAPI CertAddEncodedCertificateToStore(HCERTSTORE hCertStore, DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded, DWORD dwAddDisposition, PCCERT_CONTEXT *ppCertContext)
Definition: cert.c:58
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
BOOL WINAPI CertAddEncodedCRLToStore(HCERTSTORE hCertStore, DWORD dwCertEncodingType, const BYTE *pbCrlEncoded, DWORD cbCrlEncoded, DWORD dwAddDisposition, PCCRL_CONTEXT *ppCrlContext)
Definition: crl.c:129
struct _test_info info[]
Definition: SetCursorPos.c:19
HHOOK WINAPI SetWindowsHookExA(_In_ int, _In_ HOOKPROC, _In_opt_ HINSTANCE, _In_ DWORD)
#define X509_ASN_ENCODING
Definition: wincrypt.h:2297
#define CERT_STORE_CREATE_NEW_FLAG
Definition: wincrypt.h:2464
unsigned int BOOL
Definition: ntddk_ex.h:94
#define ok(value,...)
#define E_INVALIDARG
Definition: ddrawi.h:101
#define CERT_STORE_PROV_MEMORY
Definition: wincrypt.h:2251
smooth NULL
Definition: ftsmooth.c:416
BOOL WINAPI CertCloseStore(HCERTSTORE hCertStore, DWORD dwFlags)
Definition: store.c:1127
static BYTE cert[]
Definition: msg.c:1437
#define WH_CBT
Definition: winuser.h:35
DWORD WINAPI GetCurrentThreadId(VOID)
Definition: thread.c:420
#define CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_CONTEXT
Definition: cryptuiapi.h:306
static BYTE v1CertWithValidPubKey[]
Definition: cryptui.c:32
#define CRYPTUI_WIZ_IMPORT_ALLOW_CRL
Definition: cryptuiapi.h:330
__wchar_t WCHAR
Definition: xmlstorage.h:180
PCCRL_CONTEXT WINAPI CertCreateCRLContext(DWORD dwCertEncodingType, const BYTE *pbCrlEncoded, DWORD cbCrlEncoded)
Definition: crl.c:85
unsigned long DWORD
Definition: ntddk_ex.h:95
#define SetLastError(x)
Definition: compat.h:409
#define CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE
Definition: cryptuiapi.h:328
#define CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_STORE
Definition: cryptuiapi.h:309
int ret
#define CRYPTUI_WIZ_IMPORT_SUBJECT_CRL_CONTEXT
Definition: cryptuiapi.h:308
PCCERT_CONTEXT WINAPI CertCreateCertificateContext(DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded)
Definition: cert.c:316
BOOL WINAPI UnhookWindowsHookEx(_In_ HHOOK)
#define broken(x)
Definition: _sntprintf.h:21
PCCERT_CONTEXT WINAPI CertEnumCertificatesInStore(HCERTSTORE hCertStore, PCCERT_CONTEXT pPrev)
Definition: store.c:928
static BOOL find_and_delete_cert_in_store(HCERTSTORE store, PCCERT_CONTEXT cert)
Definition: cryptui.c:304
#define CERT_STORE_PROV_SYSTEM_W
Definition: wincrypt.h:2259
#define CERT_SYSTEM_STORE_CURRENT_USER
Definition: wincrypt.h:2324
HCERTSTORE WINAPI CertOpenStore(LPCSTR lpszStoreProvider, DWORD dwMsgAndCertEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara)
Definition: store.c:815
#define skip(...)
static const WCHAR ca[]
Definition: main.c:457
#define memset(x, y, z)
Definition: compat.h:39
#define CERT_STORE_ADD_ALWAYS
Definition: wincrypt.h:2485
static const BYTE iTunesCert1[]
Definition: cryptui.c:47
BOOL WINAPI CertFreeCRLContext(PCCRL_CONTEXT pCrlContext)
Definition: crl.c:386
static LRESULT CALLBACK cbt_hook_proc(int code, WPARAM wp, LPARAM lp)
Definition: cryptui.c:295
static const BYTE iTunesCert2[]
Definition: cryptui.c:117

Referenced by START_TEST().

Variable Documentation

◆ hDestCertStore

◆ hook

HHOOK hook
static

Definition at line 294 of file cryptui.c.

Referenced by cbt_hook_proc(), and test_crypt_ui_wiz_import().

◆ hwndParent

HWND hwndParent

Definition at line 300 of file cryptui.c.

Referenced by SEALED_::Activate(), ArrangeWindows(), CascadeWindows(), check_window_style(), ChildWindowFromPointEx(), COMBO_Create(), COMBO_WindowProc(), ComboWndProc_common(), Configure(), CardWindow::Create(), QuickLaunchBar::Create(), Window::Create(), TaskBar::Create(), CRichEdit::Create(), NotifyArea::Create(), CStartButton::Create(), StartMenu::Create(), ClockWindow::Create(), CDowloadingAppsListView::Create(), CMainToolbar::Create(), CStatusBar::Create(), CTreeView::Create(), CAppsListView::Create(), CSearchBar::Create(), CUiSplitPanel::Create(), CreateButtonSet(), SEALED_::CreateControlWindow(), CAutoComplete::CreateListbox(), CreateListView(), CreateScreenSaveWnd(), CMenuToolbarBase::CreateToolbar(), CreateTreeView(), CryptUIWizExport(), CryptUIWizImport(), CSysPagerWnd_CreateInstance(), CTrayClockWnd_CreateInstance(), CTrayNotifyWnd_CreateInstance(), DECLARE_INTERFACE_(), DefaultHandler_DoVerb(), DisplayWizard(), do_import(), Dialog::DoModal(), anonymous_namespace{mstscax.cpp}::CoClass::DoVerb(), DrawInsert(), explorer_about(), FindWindowExA(), FindWindowExW(), GetControlColor(), HH_AddHTMLPane(), HH_AddNavigationPane(), HH_AddSizeBar(), HH_AddToolbar(), INetCfgComponent_fnRaisePropertyUi(), CBalloonQueue::Init(), InitWebBrowser(), IntDefWindowProc(), InternetDialA(), InternetDialW(), InternetGoOnlineA(), InternetGoOnlineW(), InvokeObjectPickerDialog(), InvokeRemoteRegistryPickerDialog(), CGridView::MapWndProc(), MapWndProc(), MCIWndCreateA(), MCIWndCreateW(), CTrayNotifyWnd::MESSAGE_HANDLER(), MimeSecurity_GetMessageType(), NP_GetNavigationRect(), NtUserBuildHwndList(), NtUserChildWindowFromPointEx(), NtUserFindWindowEx(), NtUserGetControlColor(), OleObject_DoVerb(), OleUIPromptUserA(), OleUIPromptUserW(), OleUIUpdateLinksA(), OleUIUpdateLinksW(), ParseCommandLine(), PropertySheetDialog::PropertySheetDialog(), PROPSHEET_AdjustButtons(), PROPSHEET_AdjustButtonsWizard(), PROPSHEET_CreatePage(), PROPSHEET_CreateTabControl(), RealChildWindowFromPoint(), ScreenSaver(), CMenuBand::SetMenu(), CMenuBand::SetShellFolder(), CISFBand::SetSite(), CMenuBand::SetSite(), SetupDiCreateDeviceInfoA(), SetupDiCreateDeviceInfoList(), SetupDiCreateDeviceInfoListExA(), SetupDiCreateDeviceInfoListExW(), SetupDiCreateDeviceInfoW(), SetupDiInstallClassA(), SetupDiInstallClassExA(), SetupDiInstallClassExW(), SetupDiInstallClassW(), SetupDiOpenDeviceInfoA(), SetupDiOpenDeviceInfoW(), SetupPromptForDiskA(), SetupPromptForDiskW(), ShellFolderContextMenu(), SHOpenWithDialog(), show_export_ui(), show_frame(), show_import_ui(), ShowHTMLDialog(), ShowLastWin32Error(), SQLConfigDataSource(), SQLConfigDataSourceW(), SQLGetTranslator(), SQLGetTranslatorW(), SQLInstallODBC(), SQLInstallODBCW(), CProgressDialog::StartProgressDialog(), test_notify(), test_pack_CREATESTRUCTA(), test_pack_CREATESTRUCTW(), ThemeDrawScrollBarsGrip(), TileWindows(), TOOLBAR_GetIdealSize(), TRACKBAR_AlignBuddies(), UpdateDriverForPlugAndPlayDevicesA(), UpdateDriverForPlugAndPlayDevicesW(), wWinMain(), and ZoneMgrImpl_PromptAction().

◆ iTunesCert1

const BYTE iTunesCert1[]
static

Definition at line 47 of file cryptui.c.

Referenced by test_crypt_ui_wiz_import().

◆ iTunesCert2

const BYTE iTunesCert2[]
static

Definition at line 117 of file cryptui.c.

Referenced by test_crypt_ui_wiz_import().

◆ iTunesCert3

const BYTE iTunesCert3[]
static

Definition at line 200 of file cryptui.c.

Referenced by test_crypt_ui_wiz_import().

◆ pImportSrc

Definition at line 300 of file cryptui.c.

Referenced by CryptUIWizImport(), do_import(), and show_import_ui().

◆ pwszWizardTitle

HWND LPCWSTR pwszWizardTitle

◆ signedCRL

const BYTE signedCRL[]
static
Initial value:
= { 0x30, 0x45, 0x30, 0x2c, 0x30, 0x02, 0x06,
0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x18, 0x0f,
0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x5a, 0x30, 0x02, 0x06, 0x00, 0x03, 0x11, 0x00, 0x0f, 0x0e, 0x0d, 0x0c,
0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00 }

Definition at line 286 of file cryptui.c.

Referenced by test_crypt_ui_wiz_import().

◆ v1CertWithValidPubKey

BYTE v1CertWithValidPubKey[]
static
Initial value:
= {
0x30,0x81,0xcf,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,
0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
0x6e,0x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,
0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,
0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
0x67,0x00,0x30,0x5c,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,
0x01,0x01,0x05,0x00,0x03,0x4b,0x00,0x30,0x48,0x02,0x41,0x00,0xe2,0x54,0x3a,
0xa7,0x83,0xb1,0x27,0x14,0x3e,0x59,0xbb,0xb4,0x53,0xe6,0x1f,0xe7,0x5d,0xf1,
0x21,0x68,0xad,0x85,0x53,0xdb,0x6b,0x1e,0xeb,0x65,0x97,0x03,0x86,0x60,0xde,
0xf3,0x6c,0x38,0x75,0xe0,0x4c,0x61,0xbb,0xbc,0x62,0x17,0xa9,0xcd,0x79,0x3f,
0x21,0x4e,0x96,0xcb,0x0e,0xdc,0x61,0x94,0x30,0x18,0x10,0x6b,0xd0,0x1c,0x10,
0x79,0x02,0x03,0x01,0x00,0x01,0xa3,0x16,0x30,0x14,0x30,0x12,0x06,0x03,0x55,
0x1d,0x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 }

Definition at line 32 of file cryptui.c.

Referenced by test_crypt_ui_wiz_import().