PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET Rückruffunktion (wincrypt.h)
Die PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET-Rückruffunktion ruft ein -Objekt ab. Sie müssen diese Funktion als Teil Ihres benutzerdefinierten Anbieters implementieren. Diese Funktion wird derzeit nur vom Sicherheitspaket Secure Channel (Schannel) aufgerufen.
Syntax
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET PfnCryptObjectLocatorProviderGet;
BOOL PfnCryptObjectLocatorProviderGet(
[in, optional] LPVOID pPluginContext,
[in, optional] PCRYPT_DATA_BLOB pIdentifier,
[in] DWORD dwNameType,
[in] PCERT_NAME_BLOB pNameBlob,
[out] PBYTE *ppbContent,
[out] DWORD *pcbContent,
[out] PCWSTR *ppwszPassword,
[out] PCRYPT_DATA_BLOB *ppIdentifier
)
{...}
Parameter
[in, optional] pPluginContext
Zeiger auf einen optionalen Puffer, der von diesem Anbieter definiert und von der funktion PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE zurückgegeben wird. Der Puffer wird vom Aufrufer nicht geändert. Ihr Anbieter kann die Daten verwenden, um zu bestimmen, welche Aktionen ausgeführt werden sollen, oder um zusätzliche Informationen zu verwalten.
[in, optional] pIdentifier
Zeiger auf eine CRYPTOAPI_BLOB Struktur, die den Objektbezeichner enthält. Dieser Wert sollte beim ersten Aufruf dieser Funktion immer NULL sein.
[in] dwNameType
Das Namensformat des pNameBlob-Parameters . Mögliche Werte sind unten aufgeführt. Die Implementierung dieser Funktion muss in der Lage sein, CRYPT_OBJECT_LOCATOR_SPN_NAME_TYPE zu verarbeiten, die von Schannel übergeben wird.
CRYPT_OBJECT_LOCATOR_SPN_NAME_TYPE (1 (0x1))
CRYPT_OBJECT_LOCATOR_LAST_RESERVED_NAME_TYPE (32 (0x20))
CRYPT_OBJECT_LOCATOR_FIRST_RESERVED_USER_NAME_TYPE (33 (0x21))
CRYPT_OBJECT_LOCATOR_LAST_RESERVED_USER_NAME_TYPE (0x0000FFFF)
[in] pNameBlob
Zeiger auf eine CRYPTOAPI_BLOB Struktur, die den Namen enthält, den die aufrufende Anwendung verwendet, um das Objekt eindeutig zu identifizieren. Ihr Anbieter verwendet diesen Namen, um das angeforderte Objekt zu suchen. Schannel übermittelt derzeit einen DNS-Hostnamen (Domain Name System), der in UTF8 codiert ist, wobei IDN-Namen aus Punycode konvertiert wurden.
[out] ppbContent
Zeiger auf ein Bytearray, das das zurückzugebende Objekt enthält.
[out] pcbContent
Die Größe des Objekts in Bytes, auf das der ppbContent-Parameter verweist.
[out] ppwszPassword
Mit Null beendete Unicode-Zeichenfolge, die ggf. das Kennwort enthält, das zum Verschlüsseln des Objekts verwendet wird. Wenn es sich bei dem Objekt um eine PFX-Datei (Personal Information Exchange) handelt, wird in der Regel ein Kennwort verwendet, um die Verschlüsselung durchzuführen. Dieser Wert kann NULL sein, wenn kein Kennwort erforderlich ist.
[out] ppIdentifier
Adresse, die einen Zeiger auf einen optionalen Bezeichner empfängt, der bei nachfolgenden Aufrufen dieser Funktion und für Änderungsbenachrichtigungen verwendet werden kann. Weitere Informationen finden Sie in den Hinweisen. Wenn Ihr Anbieter diesen Wert auf NULL festlegt, verwendet Schannel intern den pNameBlob-Parameterwert .
Rückgabewert
Wenn die Funktion erfolgreich ist, geben Sie ungleich null (TRUE) zurück.
Wenn die Funktion fehlschlägt, geben Sie null (FALSE) zurück, und geben Sie einen entsprechenden Fehler in der SetLastError-Funktion an. Die meisten Fehler werden unverändert über Schannel übergeben, aber dieses Verhalten ist nicht garantiert. Einige Fehler können anderen Fehlern zugeordnet werden.
Wenn ein Objekt für einen bestimmten DNS-Namen (pNameBlob) oder bezeichner (pIdentifier) nicht zurückgegeben werden kann, geben Sie FALSE zurück, und geben Sie in der SetLastError-FunktionCRYPT_E_OBJECT_LOCATOR_OBJECT_NOT_FOUND an.
Hinweise
Die PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET Rückruffunktion wird derzeit nur vom Sicherheitspaket Secure Channel (Schannel) aufgerufen. Sie können ein Objekt zurückgeben, das eine der folgenden Komponenten kapselt:
- Ein PFX-Bytearray (Personal Information Exchange)
- Ein Zertifikatspeicher.
- Ein generisches BLOB. Dies wird derzeit von Schannel nicht unterstützt.
Da viele Hostnamen einem Objekt zugeordnet werden können, kann Ihr Anbieter den ppIdentifier-Parameter verwenden, um einen intern definierten Bezeichner zurückzugeben, der in nachfolgenden Aufrufen der Funktionen der Kryptografie-API (CAPI) an den Anbieter verwendet werden kann. Der Anbieter kann dann den Bezeichner verwenden, um das entsprechende Objekt zu finden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |
Weitere Informationen
CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE