Share via


CryptUIWizImport-Funktion (cryptuiapi.h)

Die Funktion importiert ein Zertifikat, eine Zertifikatvertrauensliste (Certificate Trust List , CTL), eine Zertifikatsperrliste (Certificate Revocation List , CRL) oder einen Zertifikatspeicher in einen Zertifikatspeicher. Der Import kann mit oder ohne Benutzerinteraktion durchgeführt werden.

Syntax

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

Parameter

[in] dwFlags

Enthält Flags, die das Verhalten der Funktion ändern. Dies kann null oder eine Kombination aus einem oder mehreren der folgenden Werte sein.

Hinweis Mit Ausnahme von CRYPTUI_WIZ_NO_UI wird keine der folgenden Konstanten in einer veröffentlichten Headerdatei definiert. Um diese Konstanten zu verwenden, müssen Sie sie mit den angegebenen Werten definieren.
 
Wert Bedeutung
CRYPTUI_WIZ_NO_UI
0x0001
Diese Funktion führt den Import basierend auf den Informationen in der CRYPTUI_WIZ_IMPORT_SRC_INFO Struktur, auf die pImportSrc verweist, in den von hDestCertStore angegebenen Speicher aus, ohne dass eine Benutzeroberfläche angezeigt wird. Wenn dieses Flag nicht angegeben ist, zeigt diese Funktion einen Assistenten an, der den Benutzer durch den Importprozess führt.

Ab Windows 8 und Windows Server 2012: Wenn Sie dieses Flag festlegen und ein Zertifikat aus einem PFX-BLOB importieren, das für einen Active Directory-Prinzipal (AD) geschützt war und der aktuelle Benutzer als Teil dieses Prinzipals über die Berechtigung zum Entschlüsseln des im PFX-Paket eingebetteten Kennworts verfügt, ist der Import erfolgreich, ohne dass ein Kennwort im CRYPTUI_WIZ_IMPORT_SRC_INFO Struktur. Weitere Informationen zum Schutz von PFX in einem AD-Prinzipal finden Sie im PvPara-Parameter und im PKCS12_PROTECT_TO_DOMAIN_SIDS-Flag der PFXExportCertStoreEx-Funktion .

CRYPTUI_WIZ_IGNORE_NO_UI_FLAG_FOR_CSPS
0x0002
Unterdrücken sie alle Benutzeroberflächen, die von Kryptografiedienstanbietern (Cryptographic Service Provider , CSPs) generiert werden. Diese Option kann von der Option CRYPTUI_WIZ_NO_UI_EXCEPT_CSP überschrieben werden.
CRYPTUI_WIZ_NO_UI_EXCEPT_CSP
0x0003
Unterdrücken Sie alle Benutzeroberflächen mit Ausnahme der benutzeroberflächen, die von CSPs generiert wurden. Mit dieser Option wird die option CRYPTUI_WIZ_IGNORE_NO_UI_FLAG_FOR_CSPS außer Kraft gesetzt.
CRYPTUI_WIZ_IMPORT_ALLOW_CERT
0x00020000
Lassen Sie den Import von Zertifikaten zu.
CRYPTUI_WIZ_IMPORT_ALLOW_CRL
0x00040000
Zulassen, dass CrLs importiert werden.
CRYPTUI_WIZ_IMPORT_ALLOW_CTL
0x00080000
Zulassen, dass CTLs importiert werden.
CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE
0x00010000
Erlauben Sie dem Benutzer nicht, den Zielzertifikatspeicher zu ändern, der durch den hDestCertStore-Parameter dargestellt wird.
CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE
0x00100000
Importieren Sie das Objekt in den Zertifikatspeicher für den lokalen Computer. Dies gilt nur für PFX-Importe (Personal Information Exchange).
CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER
0x00200000
Importieren Sie das Objekt in den Zertifikatspeicher für den aktuellen Benutzer. Dies gilt nur für PFX-Importe.
CRYPTUI_WIZ_IMPORT_REMOTE_DEST_STORE
0x00400000
Importieren Sie das Objekt in einen Remotezertifikatspeicher. Legen Sie dieses Flag fest, wenn der hDestCertStore-Parameter einen Remotezertifikatspeicher darstellt.

[in] hwndParent

Das Handle des Fensters, das als übergeordnetes Element des Dialogfelds verwendet werden soll, das von dieser Funktion erstellt wird. Dieser Parameter wird ignoriert, wenn das CRYPTUI_WIZ_NO_UI-Flag in dwFlags festgelegt ist.

[in] pwszWizardTitle

Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung, die den Titel enthält, der im Dialogfeld verwendet werden soll, das von dieser Funktion erstellt wird. Dieser Parameter wird ignoriert, wenn das CRYPTUI_WIZ_NO_UI-Flag in dwFlags festgelegt ist.

[in] pImportSrc

Ein Zeiger auf eine CRYPTUI_WIZ_IMPORT_SRC_INFO-Struktur , die Informationen zum zu importierenden Objekt enthält. Dieser Parameter ist erforderlich, wenn CRYPTUI_WIZ_NO_UI in dwFlags festgelegt ist und andernfalls optional ist.

[in] hDestCertStore

Ein Handle für den Zertifikatspeicher, in den importiert werden soll. Wenn dieser Parameter NULL ist und das CRYPTUI_WIZ_NO_UI-Flag in dwFlags nicht festgelegt ist, fordert der Assistent den Benutzer auf, einen Zertifikatspeicher auszuwählen.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion nonzero zurück.

Wenn die Funktion fehlschlägt, gibt sie null zurück. Rufen Sie die GetLastError-Funktion auf, um erweiterte Fehlerinformationen zu erhalten.

Hinweise

Wenn keines der folgenden drei Flags in dwFlags festgelegt ist, ist der Import eines beliebigen Inhaltstyps zulässig:

  • CRYPTUI_WIZ_IMPORT_ALLOW_CERT
  • CRYPTUI_WIZ_IMPORT_ALLOW_CRL
  • CRYPTUI_WIZ_IMPORT_ALLOW_CTL
Die flags CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE und CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER werden verwendet, um den Inhalt eines PFX-BLOBs in den lokalen Computerspeicher oder den aktuellen Benutzerspeicher zu erzwingen. Wenn keines dieser Flags festgelegt ist und hDestCertStoreNULL ist:
  • Der private Schlüssel im PFX-BLOB muss in den aktuellen Benutzerspeicher importiert werden.
  • Wenn CRYPTUI_WIZ_NO_UI nicht festgelegt ist, fordert der Assistent den Benutzer auf, einen Zertifikatspeicher aus den aktuellen Benutzerzertifikatspeichern auszuwählen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile cryptuiapi.h
Bibliothek Cryptui.lib
DLL Cryptui.dll

Weitere Informationen

CRYPTUI_WIZ_IMPORT_SRC_INFO

CryptUIWizExport