CertRetrieveLogoOrBiometricInfo-Funktion (wincrypt.h)
Die CertRetrieveLogoOrBiometricInfo-Funktion führt einen URL-Abruf von Logo- oder biometrischen Informationen aus, die in der szOID_LOGOTYPE_EXT - oder szOID_BIOMETRIC_EXT Zertifikaterweiterung angegeben sind. Die szOID_BIOMETRIC_EXT-Erweiterung (IETF RFC 3739) unterstützt das Hinzufügen einer Signatur oder einer bildlichen Darstellung des menschlichen Zertifikatinhabers. Die szOID_LOGOTYPE_EXT-Erweiterung (IETF RFC 3709) unterstützt das Hinzufügen von Bilddarstellungen der Organisation in Zertifikaten.
Syntax
BOOL CertRetrieveLogoOrBiometricInfo(
[in] PCCERT_CONTEXT pCertContext,
[in] LPCSTR lpszLogoOrBiometricType,
[in] DWORD dwRetrievalFlags,
[in] DWORD dwTimeout,
[in] DWORD dwFlags,
void *pvReserved,
[out] BYTE **ppbData,
[out] DWORD *pcbData,
[out] LPWSTR *ppwszMimeType
);
Parameter
[in] pCertContext
Die Adresse einer CERT_CONTEXT Struktur, die das Zertifikat enthält.
[in] lpszLogoOrBiometricType
Die Adresse einer NULL-beendeten ANSI-Zeichenfolge, die eine Objektbezeichnerzeichenfolge (Object Identifier, OID) enthält, die den Typ der abzurufenden Informationen identifiziert.
Dieser Parameter kann auch einen der folgenden vordefinierten Werte enthalten.
[in] dwRetrievalFlags
Ein Satz von Flags, die angeben, wie die Informationen abgerufen werden sollen. Dieser Parameter wird als dwRetrievalFlags in der CryptRetrieveObjectByUrl-Funktion übergeben.
[in] dwTimeout
Die maximale Zeitspanne in Millisekunden, die auf den Abruf gewartet werden soll.
[in] dwFlags
Dieser Parameter wird nicht verwendet und muss null entsprechen.
pvReserved
Dieser Parameter wird nicht verwendet und muss NULL sein.
[out] ppbData
Die Adresse eines BYTE-Zeigers , der den Logotyp oder biometrische Daten empfängt. Dieser Speicher muss freigegeben werden, wenn er nicht mehr benötigt wird, indem dieser Zeiger an die CryptMemFree-Funktion übergeben wird.
[out] pcbData
Die Adresse einer DWORD-Variablen , die die Anzahl der Bytes im ppbData-Puffer empfängt .
[out] ppwszMimeType
Die Adresse eines Zeigers auf eine unicode-Zeichenfolge mit NULL-Endung, die den MIME-Typ (Multipurpose Internet Mail Extensions) der Daten empfängt. Dieser Parameter kann NULL sein, wenn diese Informationen nicht benötigt werden. Dieser Speicher muss freigegeben werden, wenn er nicht mehr benötigt wird, indem dieser Zeiger an die CryptMemFree-Funktion übergeben wird.
Diese Adresse empfängt immer NULL für biometrische Typen. Sie müssen immer sicherstellen, dass dieser Parameter eine gültige Speicheradresse enthält, bevor Sie versuchen, auf den Arbeitsspeicher zuzugreifen.
Rückgabewert
Gibt ungleich null zurück, wenn erfolgreich oder andernfalls null.
Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Mögliche Fehlercodes, die von der GetLastError-Funktion zurückgegeben werden, sind jedoch nicht darauf beschränkt:
Rückgabecode | Beschreibung |
---|---|
|
Der berechnete Hashwert stimmt nicht mit dem Hashwert im Zertifikat überein. |
|
Das Zertifikat enthält nicht die szOID_LOGOTYPE_EXT - oder szOID_BIOMETRIC_EXT erweiterung, oder der angegebene lpszLogoOrBiometricType wurde nicht gefunden. |
|
Mindestens ein Parameter ist ungültig. |
|
Aus der von der Zertifikaterweiterung angegebenen URL konnten keine Daten abgerufen werden. |
|
Das Zertifikat unterstützt die erforderliche Erweiterung nicht. |
|
Die Hashalgorithmus-OID ist unbekannt. |
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |
Bibliothek | Crypt32.lib |
DLL | Crypt32.dll |