Función CryptUIWizImport (cryptuiapi.h)

La función importa un certificado, una lista de confianza de certificados (CTL), una lista de revocación de certificados (CRL) o un almacén de certificados a un almacén de certificados. La importación se puede realizar con o sin interacción del usuario.

Sintaxis

BOOL CryptUIWizImport(
  [in] DWORD                         dwFlags,
  [in] HWND                          hwndParent,
  [in] LPCWSTR                       pwszWizardTitle,
  [in] PCCRYPTUI_WIZ_IMPORT_SRC_INFO pImportSrc,
  [in] HCERTSTORE                    hDestCertStore
);

Parámetros

[in] dwFlags

Contiene marcas que modifican el comportamiento de la función. Puede ser cero o una combinación de uno o varios de los valores siguientes.

Nota Excepto por CRYPTUI_WIZ_NO_UI, ninguna de las constantes siguientes se define en un archivo de encabezado publicado. Para usar estas constantes, debe definirlas mediante los valores especificados.
 
Valor Significado
CRYPTUI_WIZ_NO_UI
0x0001
Esta función realizará la importación en función de la información de la estructura de CRYPTUI_WIZ_IMPORT_SRC_INFO a la que apunta pImportSrc en el almacén especificado por hDestCertStore sin mostrar ninguna interfaz de usuario. Si no se especifica esta marca, esta función mostrará un asistente para guiar al usuario a través del proceso de importación.

A partir de Windows 8 y Windows Server 2012, si establece esta marca e importa un certificado de un BLOB PFX protegido a una entidad de seguridad de Active Directory (AD) y el usuario actual, como parte de esa entidad de seguridad, tiene permiso para descifrar la contraseña insertada en el paquete PFX, la importación se realizará correctamente sin necesidad de establecer una contraseña en la CRYPTUI_WIZ_IMPORT_SRC_INFO Estructura. Para obtener más información sobre cómo proteger PFX en una entidad de seguridad de AD, consulte el parámetro pvPara y la marca PKCS12_PROTECT_TO_DOMAIN_SIDS de la función PFXExportCertStoreEx .

CRYPTUI_WIZ_IGNORE_NO_UI_FLAG_FOR_CSPS
0x0002
Suprima todas las interfaces de usuario generadas por proveedores de servicios criptográficos (CSP). Esta opción se puede invalidar mediante la opción CRYPTUI_WIZ_NO_UI_EXCEPT_CSP .
CRYPTUI_WIZ_NO_UI_EXCEPT_CSP
0x0003
Suprima todas las interfaces de usuario excepto las generadas por los CSP. Esta opción invalida la opción CRYPTUI_WIZ_IGNORE_NO_UI_FLAG_FOR_CSPS .
CRYPTUI_WIZ_IMPORT_ALLOW_CERT
0x00020000
Permitir la importación de certificados.
CRYPTUI_WIZ_IMPORT_ALLOW_CRL
0x00040000
Permitir que se importen las CRL.
CRYPTUI_WIZ_IMPORT_ALLOW_CTL
0x00080000
Permitir que se importen las CTL.
CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE
0x00010000
No permita que el usuario cambie el almacén de certificados de destino representado por el parámetro hDestCertStore .
CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE
0x00100000
Importe el objeto en el almacén de certificados del equipo local. Esto solo se aplica a las importaciones de Intercambio de información personal (PFX).
CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER
0x00200000
Importe el objeto en el almacén de certificados para el usuario actual. Esto solo se aplica a las importaciones PFX.
CRYPTUI_WIZ_IMPORT_REMOTE_DEST_STORE
0x00400000
Importe el objeto en un almacén de certificados remoto. Establezca esta marca si el parámetro hDestCertStore representa un almacén de certificados remoto.

[in] hwndParent

Identificador de la ventana que se va a usar como elemento primario del cuadro de diálogo que crea esta función. Este parámetro se omite si la marca CRYPTUI_WIZ_NO_UI está establecida en dwFlags.

[in] pwszWizardTitle

Puntero a una cadena Unicode terminada en null que contiene el título que se va a usar en el cuadro de diálogo que crea esta función. Este parámetro se omite si la marca CRYPTUI_WIZ_NO_UI está establecida en dwFlags.

[in] pImportSrc

Puntero a una estructura CRYPTUI_WIZ_IMPORT_SRC_INFO que contiene información sobre el objeto que se va a importar. Este parámetro es necesario si CRYPTUI_WIZ_NO_UI se establece en dwFlags y es opcional.

[in] hDestCertStore

Identificador del almacén de certificados al que se va a importar. Si este parámetro es NULL y la marca CRYPTUI_WIZ_NO_UI no está establecida en dwFlags, el asistente pedirá al usuario que seleccione un almacén de certificados.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero.

Si se produce un error en la función, devuelve cero. Para obtener información de error extendida, llame a la función GetLastError .

Comentarios

Si no se establece ninguna de las tres marcas siguientes en dwFlags, se permite la importación de cualquier tipo de contenido:

  • CRYPTUI_WIZ_IMPORT_ALLOW_CERT
  • CRYPTUI_WIZ_IMPORT_ALLOW_CRL
  • CRYPTUI_WIZ_IMPORT_ALLOW_CTL
Las marcas de CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE y CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER se usan para forzar el contenido de un BLOB PFX en el almacén del equipo local o en el almacén de usuarios actual. Si no se establece ninguna de estas marcas y hDestCertStore es NULL:
  • La clave privada del BLOB PFX se forzará a importarse en el almacén de usuarios actual.
  • Y si no se establece CRYPTUI_WIZ_NO_UI, el asistente solicita al usuario que seleccione un almacén de certificados entre los almacenes de certificados de usuario actuales.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado cryptuiapi.h
Library Cryptui.lib
Archivo DLL Cryptui.dll

Consulte también

CRYPTUI_WIZ_IMPORT_SRC_INFO

CryptUIWizExport