CryptSetProvParam-Funktion (wincrypt.h)
Syntax
BOOL CryptSetProvParam(
[in] HCRYPTPROV hProv,
[in] DWORD dwParam,
[in] const BYTE *pbData,
[in] DWORD dwFlags
);
Parameter
[in] hProv
Der Handle eines CSP, für den Werte festgelegt werden sollen. Dieses Handle muss bereits mit der Funktion CryptAcquireContext erstellt worden sein.
[in] dwParam
Gibt den festzulegenden Parameter an. Dies kann einer der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
Legen Sie das Fensterhandle fest, das der Anbieter als übergeordnetes Element aller dialogfelder verwendet, die er erstellt. pbData enthält einen Zeiger auf einen HWND , der das übergeordnete Fensterhandle enthält.
Dieser Parameter muss vor dem Aufrufen von CryptAcquireContext festgelegt werden, da viele CSPs eine Benutzeroberfläche anzeigen, wenn CryptAcquireContext aufgerufen wird. Sie können NULL für den hProv-Parameter übergeben, um dieses Fensterhandle für alle kryptografischen Kontexte festzulegen, die später in diesem Prozess abgerufen werden. |
|
Löschen Sie den kurzlebigen Schlüssel, der einem Hash-, Verschlüsselungs- oder Überprüfungskontext zugeordnet ist. Dadurch werden Arbeitsspeicher freigegeben und registrierungseinstellungen gelöscht, die dem Schlüssel zugeordnet sind. |
|
Diese Konstante wird nicht verwendet. |
|
Gibt an, dass die Schlüsselaustausch-PIN in pbData enthalten ist. Die PIN wird als NULL-beendete ASCII-Zeichenfolge dargestellt. |
|
Diese Konstante wird nicht verwendet. |
|
Legt die Sicherheitsbeschreibung für den Schlüsselspeichercontainer fest. Der pbData-Parameter ist die Adresse einer SECURITY_DESCRIPTOR-Struktur , die die neue Sicherheitsbeschreibung für den Schlüsselspeichercontainer enthält. |
|
Legt eine alternative Eingabeaufforderungszeichenfolge fest, die dem Benutzer angezeigt wird, wenn die PIN des Benutzers angefordert wird. Der pbData-Parameter ist ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Endung. |
|
Legt den Stammzertifikatspeicher für die smarte Karte fest. Der Anbieter kopiert die Stammzertifikate aus diesem Speicher auf den smarten Karte.
Der pbData-Parameter ist eine HCERTSTORE-Variable , die das Handle des neuen Zertifikatspeichers enthält. Der Anbieter kopiert die Zertifikate während dieses Aufrufs aus dem Speicher, sodass es sicher ist, diesen Speicher zu schließen, nachdem diese Funktion aufgerufen wurde. Windows XP und Windows Server 2003: Dieser Parameter wird nicht unterstützt. |
|
Diese Konstante wird nicht verwendet. |
|
Gibt die Signatur-PIN an. Der pbData-Parameter ist eine ASCII-Zeichenfolge mit Null-Beendigung, die die PIN darstellt. |
|
Diese Konstante wird nicht verwendet. |
|
Legt bei einem Anbieter für intelligente Karte die Suchzeichenfolge fest, die dem Benutzer als Aufforderung zum Einfügen des intelligenten Karte angezeigt wird. Diese Zeichenfolge wird als lpstrSearchDesc-Member der OPENCARDNAME_EX-Struktur übergeben, die an die SCardUIDlgSelectCard-Funktion übergeben wird. Diese Zeichenfolge wird für die Lebensdauer des aufrufenden Prozesses verwendet.
Der pbData-Parameter ist ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Endung. |
|
Gibt an, dass der CSP ausschließlich den Hardware-Zufallszahlengenerator (RNG) verwenden muss. Wenn PP_USE_HARDWARE_RNG festgelegt ist, werden zufällige Werte ausschließlich aus der Hardware-RNG entnommen, und es werden keine anderen Quellen verwendet. Wenn ein Hardware-RNG vom CSP unterstützt wird und ausschließlich verwendet werden kann, ist die Funktion erfolgreich und gibt TRUE zurück. Andernfalls schlägt die Funktion fehl und gibt FALSE zurück. Der pbData-Parameter muss NULL sein, und dwFlags muss null sein, wenn dieser Wert verwendet wird.
Keiner der Microsoft-CSPs unterstützt derzeit die Verwendung eines Hardware-RNG. |
|
Gibt den Benutzerzertifikatspeicher für die intelligente Karte an. Dieser Zertifikatspeicher enthält alle Benutzerzertifikate, die auf dem intelligenten Karte gespeichert sind. Die Zertifikate in diesem Speicher werden mithilfe von PKCS_7_ASN_ENCODING- oder X509_ASN_ENCODING-Codierung codiert und sollten die CERT_KEY_PROV_INFO_PROP_ID-Eigenschaft enthalten.
Der pbData-Parameter ist eine HCERTSTORE-Variable , die das Handle eines In-Memory-Zertifikatspeichers empfängt. Wenn dieses Handle nicht mehr benötigt wird, muss es vom Aufrufer mithilfe der CertCloseStore-Funktion geschlossen werden. Windows Server 2003 und Windows XP: Dieser Parameter wird nicht unterstützt. |
|
Gibt an, dass eine verschlüsselte Schlüsselaustausch-PIN in pbData enthalten ist. Der pbData-Parameter enthält eine DATA_BLOB. |
|
Gibt an, dass eine verschlüsselte Signatur-PIN in pbData enthalten ist. Der pbData-Parameter enthält eine DATA_BLOB. |
|
Gibt den Namen des Intelligenten Karte-Lesers an. Der pbData-Parameter ist die Adresse eines ANSI-Zeichenarrays, das eine NULL-beendete ANSI-Zeichenfolge enthält, die den Namen des Smart Karte-Reader enthält.
Windows Server 2003 und Windows XP: Dieser Parameter wird nicht unterstützt. |
|
Gibt den Bezeichner des intelligenten Karte an. Der pbData-Parameter ist die Adresse einer GUID-Struktur, die den Bezeichner des smarten Karte enthält.
Windows Server 2003 und Windows XP: Dieser Parameter wird nicht unterstützt. |
[in] pbData
Ein Zeiger auf einen Datenpuffer, der den Wert enthält, der als Anbieterparameter festgelegt werden soll. Die Form dieser Daten variiert je nach dwParam-Wert . Wenn dwParamPP_USE_HARDWARE_RNG enthält, muss dieser Parameter NULL sein.
[in] dwFlags
Wenn dwParamPP_KEYSET_SEC_DESCR enthält, enthält dwFlags die SECURITY_INFORMATION anwendbaren Bitflags, wie im Platform SDK definiert. Die Schlüsselcontainersicherheit wird mithilfe von SetFileSecurity und GetFileSecurity behandelt.
Diese Bitflags können mithilfe eines bitweisen OR-Vorgangs kombiniert werden. Weitere Informationen finden Sie unter CryptGetProvParam.
Wenn dwParamPP_USE_HARDWARE_RNG oder PP_DELETEKEY ist, muss dwFlags auf 0 festgelegt werden.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert nonzero (TRUE).
Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (FALSE). Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Die von "NTE" vorangestellten Fehlercodes werden vom verwendeten CSP generiert. Zu den Fehlercodes zählen die folgenden.
Rückgabecode | Beschreibung |
---|---|
|
Der CSP-Kontext wird derzeit von einem anderen Prozess verwendet. |
|
Einer der Parameter gibt ein ungültiges Handle an. |
|
Einer der Parameter enthält einen ungültigen Wert. Dies ist in den meisten Fällen ein nicht gültiger Zeiger. |
|
Der dwFlags-Parameter ist nonzero, oder der pbData-Puffer enthält einen ungültigen Wert. |
|
Der dwParam-Parameter gibt einen unbekannten Parameter an. |
|
Der CSP-Kontext, der beim Erstellen des hKey-Schlüssels angegeben wurde, kann nicht gefunden werden. |
|
Die Funktion ist auf unerwartete Weise fehlgeschlagen. |
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 | wincrypt.h |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |