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.

Wert Bedeutung
CERT_RETRIEVE_ISSUER_LOGO
Rufen Sie den Logotyp des Zertifikatausstellers ab.
CERT_RETRIEVE_SUBJECT_LOGO
Rufen Sie den Logotyp des Zertifikatantragstellers ab.
CERT_RETRIEVE_COMMUNITY_LOGO
Rufen Sie den Logotyp der Zertifikatcommunity ab.
CERT_RETRIEVE_BIOMETRIC_PICTURE_TYPE
Rufen Sie das dem Zertifikat zugeordnete Bild ab.
CERT_RETRIEVE_BIOMETRIC_SIGNATURE_TYPE
Rufen Sie die dem Zertifikat zugeordnete Signatur ab.

[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
CRYPT_E_HASH_VALUE
Der berechnete Hashwert stimmt nicht mit dem Hashwert im Zertifikat überein.
CRYPT_E_NOT_FOUND
Das Zertifikat enthält nicht die szOID_LOGOTYPE_EXT - oder szOID_BIOMETRIC_EXT erweiterung, oder der angegebene lpszLogoOrBiometricType wurde nicht gefunden.
E_INVALIDARG
Mindestens ein Parameter ist ungültig.
ERROR_INVALID_DATA
Aus der von der Zertifikaterweiterung angegebenen URL konnten keine Daten abgerufen werden.
ERROR_NOT_SUPPORTED
Das Zertifikat unterstützt die erforderliche Erweiterung nicht.
NTE_BAD_ALGID
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

Weitere Informationen

CryptMemFree