Função CryptUIWizImport (cryptuiapi.h)

A função importa um certificado, uma CTL ( lista de certificados confiáveis ), uma CRL ( lista de certificados revogados ) ou um repositório de certificados para um repositório de certificados. A importação pode ser executada com ou sem interação do usuário.

Sintaxe

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

Contém sinalizadores que modificam o comportamento da função. Isso pode ser zero ou uma combinação de um ou mais dos valores a seguir.

Nota Exceto por CRYPTUI_WIZ_NO_UI, nenhuma das constantes a seguir é definida em um arquivo de cabeçalho publicado. Para usar essas constantes, você deve defini-las usando os valores especificados.
 
Valor Significado
CRYPTUI_WIZ_NO_UI
0x0001
Essa função executará a importação com base nas informações na estrutura CRYPTUI_WIZ_IMPORT_SRC_INFO apontada por pImportSrc no repositório especificado por hDestCertStore sem exibir nenhuma interface do usuário. Se esse sinalizador não for especificado, essa função exibirá um assistente para orientar o usuário durante o processo de importação.

Começando com Windows 8 e Windows Server 2012, se você definir esse sinalizador e estiver importando um certificado de um BLOB PFX protegido para uma entidade de segurança do AD (Active Directory), e o usuário atual, como parte dessa entidade de segurança, tiver permissão para descriptografar a senha inserida no pacote PFX, a importação terá êxito sem exigir que uma senha seja definida no CRYPTUI_WIZ_IMPORT_SRC_INFO Estrutura. Para obter mais informações sobre como proteger o PFX para uma entidade de segurança do AD, consulte o parâmetro pvPara e o sinalizador PKCS12_PROTECT_TO_DOMAIN_SIDS da função PFXExportCertStoreEx .

CRYPTUI_WIZ_IGNORE_NO_UI_FLAG_FOR_CSPS
0x0002
Suprimir todas as interfaces do usuário geradas por CSPs ( provedores de serviços criptográficos ). Essa opção pode ser substituída pela opção CRYPTUI_WIZ_NO_UI_EXCEPT_CSP .
CRYPTUI_WIZ_NO_UI_EXCEPT_CSP
0x0003
Suprima todas as interfaces do usuário, exceto aquelas geradas por CSPs. Essa opção substitui a opção CRYPTUI_WIZ_IGNORE_NO_UI_FLAG_FOR_CSPS .
CRYPTUI_WIZ_IMPORT_ALLOW_CERT
0x00020000
Permitir que os certificados sejam importados.
CRYPTUI_WIZ_IMPORT_ALLOW_CRL
0x00040000
Permitir que as CRLs sejam importadas.
CRYPTUI_WIZ_IMPORT_ALLOW_CTL
0x00080000
Permitir que as CTLs sejam importadas.
CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE
0x00010000
Não permita que o usuário altere o repositório de certificados de destino representado pelo parâmetro hDestCertStore .
CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE
0x00100000
Importe o objeto para o repositório de certificados do computador local. Isso se aplica somente às importações do PFX (Troca de Informações Pessoais).
CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER
0x00200000
Importe o objeto para o repositório de certificados do usuário atual. Isso se aplica somente às importações PFX.
CRYPTUI_WIZ_IMPORT_REMOTE_DEST_STORE
0x00400000
Importe o objeto para um repositório de certificados remoto. Defina esse sinalizador se o parâmetro hDestCertStore representar um repositório de certificados remoto.

[in] hwndParent

O identificador da janela a ser usada como o pai da caixa de diálogo que essa função cria. Esse parâmetro será ignorado se o sinalizador CRYPTUI_WIZ_NO_UI estiver definido em dwFlags.

[in] pwszWizardTitle

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o título a ser usado na caixa de diálogo que essa função cria. Esse parâmetro será ignorado se o sinalizador CRYPTUI_WIZ_NO_UI estiver definido em dwFlags.

[in] pImportSrc

Um ponteiro para uma estrutura CRYPTUI_WIZ_IMPORT_SRC_INFO que contém informações sobre o objeto a ser importado. Esse parâmetro será necessário se CRYPTUI_WIZ_NO_UI estiver definido em dwFlags e for opcional caso contrário.

[in] hDestCertStore

Um identificador para o repositório de certificados para o qual importar. Se esse parâmetro for NULL e o sinalizador CRYPTUI_WIZ_NO_UI não estiver definido em dwFlags, o assistente solicitará que o usuário selecione um repositório de certificados.

Retornar valor

Se a função for bem-sucedida, a função retornará diferente de zero.

Se a função falhar, ela retornará zero. Para obter informações de erro estendidas, chame a função GetLastError .

Comentários

Se nenhum dos três sinalizadores a seguir estiver definido em dwFlags, a importação de qualquer tipo de conteúdo será permitida:

  • CRYPTUI_WIZ_IMPORT_ALLOW_CERT
  • CRYPTUI_WIZ_IMPORT_ALLOW_CRL
  • CRYPTUI_WIZ_IMPORT_ALLOW_CTL
Os sinalizadores CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE e CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER são usados para forçar o conteúdo de um BLOB PFX no repositório de computadores local ou no repositório de usuários atual. Se nenhum desses sinalizadores estiver definido e hDestCertStore for NULL:
  • A chave privada no BLOB PFX será forçada a ser importada para o repositório de usuários atual.
  • E se CRYPTUI_WIZ_NO_UI não estiver definido, o assistente solicitará que o usuário selecione um repositório de certificados entre os repositórios de certificados do usuário atual.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho cryptuiapi.h
Biblioteca Cryptui.lib
DLL Cryptui.dll

Confira também

CRYPTUI_WIZ_IMPORT_SRC_INFO

CryptUIWizExport