CryptGetObjectUrl-Funktion (wincrypt.h)
Die CryptGetObjectUrl-Funktion ruft die URL des Remoteobjekts aus einem Zertifikat, einer Zertifikatvertrauensliste (Certificate Trust List , CTL) oder einer Zertifikatsperrliste (Certificate Revocation List , CRL) ab.
Die Funktion übernimmt das Objekt, decodiert es und stellt einen Zeiger auf ein Array von URLs aus dem -Objekt bereit. Aus einem Zertifikat würde sich beispielsweise eine Zertifikatsperrlistenverteilerliste mit URLs im Array befinden.
Syntax
BOOL CryptGetObjectUrl(
[in] LPCSTR pszUrlOid,
[in] LPVOID pvPara,
[in] DWORD dwFlags,
[out] PCRYPT_URL_ARRAY pUrlArray,
[in, out] DWORD *pcbUrlArray,
[out] PCRYPT_URL_INFO pUrlInfo,
[in, out] DWORD *pcbUrlInfo,
LPVOID pvReserved
);
Parameter
[in] pszUrlOid
Ein Zeiger auf einen Objektbezeichner (Object Identifier, OID), der die angeforderte URL identifiziert. Wenn das HIWORD des pszUrlOid-Parameters 0 ist, gibt LOWORD den ganzzahligen Bezeichner für den Typ der angegebenen Struktur an.
Dieser Parameter kann einen der folgenden Werte annehmen. Informationen dazu, wie sich diese Werte auf den pvPara-Parameter auswirken, finden Sie in der Überschrift "Für den pvPara-Parameter " in der Spalte Bedeutung .
Wert | Bedeutung |
---|---|
|
Stellt die URL des Zertifikatausstellers bereit, der von der Berechtigungsinformationszugriffserweiterung oder -eigenschaft eines Zertifikats abgerufen wird.
Für den pvPara-Parameter : Ein Zeiger auf eine CERT_CONTEXT Struktur, die vom Aussteller ausgegeben wurde, dessen URL angefordert wird. |
|
Stellt eine Liste der URLs der Zertifikatsperrlistenverteilungspunkte bereit, die aus der Erweiterung oder Eigenschaft eines Zertifikats für den CRL-Verteilungspunkt abgerufen werden.
Für den pvPara-Parameter : Ein Zeiger auf eine CERT_CONTEXT-Struktur , deren CRL-Verteilungspunkt angefordert wird. |
|
Stellt eine Liste der OCSP- und CRL-Verteilungspunkt-URLs aus den AIA-Erweiterungen (Authority Information Access) und CRL-Verteilungspunkterweiterungen oder -Eigenschaften eines Zertifikats bereit. Die Funktion gibt zuerst alle URLs des CRL-Verteilungspunkts zurück. Bevor Sie OCSP-URLs verwenden, müssen Sie das Präfix L"ocsp:" entfernen.
Für den pvPara-Parameter : Ein Zeiger auf eine CERT_CONTEXT Struktur, deren OCSP- und CRL-Verteilungspunkt-URLs angefordert werden. |
|
Stellt eine OCSP-URL aus der AIA-Erweiterung (Authority Information Access) oder -Eigenschaft eines Zertifikats bereit.
Für den pvPara-Parameter : Ein Zeiger auf eine CERT_CONTEXT Struktur, deren OCSP-URL angefordert wird. |
|
Stellt eine Liste der OCSP- und CRL-Verteilungspunkt-URLs aus den AIA-Erweiterungen (Authority Information Access) und CRL-Verteilungspunkterweiterungen oder -Eigenschaften eines Zertifikats bereit. Die Funktion gibt zuerst alle OCSP-URLs zurück. Bevor Sie OCSP-URLs verwenden, müssen Sie das Präfix L"ocsp:" entfernen.
Für den pvPara-Parameter : Ein Zeiger auf eine CERT_CONTEXT Struktur, deren OCSP- und CRL-Verteilungspunkt-URLs angefordert werden. |
|
Stellt eine Liste der OCSP-URLs aus der AIA-Erweiterung (Authority Information Access) oder -Eigenschaft eines Zertifikats bereit. Bevor Sie OCSP-URLs verwenden, müssen Sie das Präfix L"ocsp:" entfernen.
Für den pvPara-Parameter : Ein Zeiger auf eine CERT_CONTEXT Struktur, deren OCSP-URLs angefordert werden. |
|
Stellt die URL des CTL-Ausstellers bereit, der von einer Methode des Zugriffsattributes für Autoritätsinformationen abgerufen wurde, die in den einzelnen Anmeldeinformationen in der PKCS #7-CTL codiert ist.
Für den pvPara-Parameter : Ein Zeiger auf einen Signer Index CTL_CONTEXT Struktur, die vom Aussteller ausgegeben wurde, dessen URL, die durch den Signerindex identifiziert wurde, angefordert wird. |
|
Stellt die URL der nächsten Aktualisierung der CTL bereit, die von einer Zugriffsberechtigungsinformations-CTL-Erweiterung, -Eigenschaft oder -Anmeldeinformationsattributmethode abgerufen wird.
Für den pvPara-Parameter : Ein Zeiger auf einen SignerIndex CTL_CONTEXT Struktur, deren nächste Aktualisierungs-URL angefordert wird, und ein optionaler Signerindex, falls er zum Überprüfen der Signaturinformationsattribute erforderlich ist. |
|
Stellt die URL des Zertifikatsperrlistenausstellers bereit, der von einer Eigenschaft für eine Zertifikatsperrliste abgerufen wurde, die vom Antragstellerzertifikatzertifikat geerbt wurde (entweder vom Antragstellerzertifikataussteller oder der Zertifikatverteilungspunkterweiterung des Antragstellers). Es ist als Erweiterungsmethode für den Zugriff auf Autoritätsinformationen codiert.
Für den pvPara-Parameter : Ein Zeiger auf eine CRL_CONTEXT Struktur, die vom Aussteller ausgegeben wurde, dessen URL angefordert wird. |
|
Ruft die neueste Zertifikatsperrlistenerweiterung oder -eigenschaft des Zertifikats ab.
Für den pvPara-Parameter : Der PCCERT_CONTEXT eines Zertifikats, dessen aktueller Zertifikatsperrlistenverteilungspunkt angefordert wird. |
|
Ruft die neueste CRL-Erweiterung oder -Eigenschaft der Zertifikatsperrliste ab.
Für den pvPara-Parameter : Ein Zeiger auf eine CERT_CRL_CONTEXT_PAIR-Struktur , die die Basissperrliste eines Zertifikats enthält, dessen aktueller CRL-Verteilungspunkt angefordert wird. |
|
Ruft die Zertifikatverteilungspunkterweiterung oder -eigenschaft des Zertifikats ab.
Für den pvPara-Parameter : Der PCCERT_CONTEXT eines Zertifikats, dessen Zertifikatverteilungspunkt angefordert wird. |
|
Ruft die zertifikatübergreifende Erweiterung oder Eigenschaft des Zertifikats Subject Information Access ab.
Für den pvPara-Parameter : Der PCCERT_CONTEXT eines Zertifikats, dessen zertifikatübergreifender Zugriff auf Antragstellerinformationen angefordert wird. |
[in] pvPara
Eine Struktur, die durch den Wert von pszUrlOid bestimmt wird. Ausführliche Informationen finden Sie in der Beschreibung des PszUrlOid-Parameters .
[in] dwFlags
Eine Reihe von Flags, die zum Abrufen des URL-Locators für ein Objekt verwendet werden. Dies kann null oder eine Kombination aus einem oder mehreren der folgenden Werte sein.
[out] pUrlArray
Ein Zeiger auf einen Puffer, um die Daten für den Werteintrag zu empfangen. Dieser Parameter kann NULL sein, um die Länge des Puffers zu ermitteln, der zum Aufnehmen der Daten erforderlich ist.
Weitere Informationen finden Sie unter Abrufen von Daten unbekannter Länge.
[in, out] pcbUrlArray
Ein Zeiger auf ein DWORD , der die Größe des Puffers in Bytes angibt, auf den der pUrlArray-Parameter verweist. Wenn die Funktion zurückgibt, enthält das DWORD die Anzahl der im Puffer gespeicherten Bytes. Dieser Parameter kann nur NULL sein, wenn pUrlArrayNULL ist.
[out] pUrlInfo
Ein optionaler Zeiger auf eine CRYPT_URL_INFO-Struktur , die die Daten für den Werteintrag empfängt.
[in, out] pcbUrlInfo
Ein Zeiger auf ein DWORD , der die Größe des Puffers in Bytes angibt, auf den der pUrlArray-Parameter verweist. Wenn die Funktion zurückgibt, enthält das DWORD die Anzahl der im Puffer gespeicherten Bytes.
pvReserved
Für die zukünftige Verwendung reserviert und muss NULL sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion nonzero (TRUE) zurück.
Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Anforderungen
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 | Cryptnet.lib |
DLL | Cryptnet.dll |