CryptGetTimeValidObject-Funktion (wincrypt.h)
Die CryptGetTimeValidObject-Funktion ruft eine CRL, eine OCSP-Antwort oder ein CTL-Objekt ab, das innerhalb eines bestimmten Kontexts und einer bestimmten Zeit gültig ist.
Syntax
BOOL CryptGetTimeValidObject(
[in] LPCSTR pszTimeValidOid,
[in] LPVOID pvPara,
[in] PCCERT_CONTEXT pIssuer,
[in, optional] LPFILETIME pftValidFor,
[in] DWORD dwFlags,
[in] DWORD dwTimeout,
[out, optional] LPVOID *ppvObject,
[in, optional] PCRYPT_CREDENTIALS pCredentials,
[in, out, optional] PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO pExtraInfo
);
Parameter
[in] pszTimeValidOid
Ein Zeiger auf einen Objektbezeichner (Object Identifier, OID), der das angeforderte Objekt identifiziert. Wenn das HIWORD des parameters pszTimeValidOid 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 eine Zertifikatvertrauensliste (Certificate Trust List, CTL) basierend auf einer URL bereit, die aus der NextUpdateLocation-Eigenschaft oder Erweiterung des aktuellen CTL-Kontexts abgerufen wird.
Für den pvPara-Parameter: Ein Zeiger auf einen PCCTL_CONTEXT , der die aktuelle Zertifikatvertrauensliste darstellt. |
|
Dieser Wert ist für die zukünftige Verwendung reserviert. |
|
Stellt eine Zertifikatsperrliste basierend auf Informationen bereit, die aus der Erweiterung der Zertifikatsperrlistenpunkte des aktuellen Zertifikatkontexts abgerufen wurden.
Für den pvPara-Parameter: Ein Zeiger auf einen PCCERT_CONTEXT , der das Zertifikat des Antragstellers darstellt. |
|
Stellt eine Delta-Zertifikatsperrliste bereit, die auf Informationen basiert, die aus der neuesten Zertifikatsperrlistenerweiterung des aktuellen Zertifikatkontexts abgerufen wurden.
Für den pvPara-Parameter: Ein Zeiger auf einen PCCERT_CONTEXT , der das Zertifikat des Antragstellers darstellt. |
|
Stellt eine Delta-Zertifikatsperrliste basierend auf Informationen bereit, die aus der neuesten CRL-Erweiterung des aktuellen CRL-Kontexts abgerufen wurden.
Für den pvPara-Parameter: Ein Zeiger auf einen PCCERT_CRL_CONTEXT_PAIR , der das Antragstellerzertifikat und seine Basis-Zertifikatsperrliste darstellt. |
[in] pvPara
Eine Struktur, die durch den Wert von pszTimeValidOid bestimmt wird. Ausführliche Informationen finden Sie in der Beschreibung des pszTimeValidOid-Parameters .
[in] pIssuer
Ein Zeiger auf eine CERT_CONTEXT , die das Zertifikat des Ausstellers enthält.
[in, optional] pftValidFor
Ein Zeiger auf eine optionale FILETIME-Strukturversion der aktuellen Systemzeit oder eine Frischezeit aus dem aktuellen Kontext.
[in] dwFlags
Ein Wert, der verschiedene Abruffaktoren wie Timeout, Quelle und Gültigkeitsprüfung bestimmt.
In der folgenden Tabelle sind mögliche Werte für den dwFlags-Parameter aufgeführt.
Wert | Bedeutung |
---|---|
|
Verwenden Sie die Registrierungseinstellung für das kumulative Timeout des Clientcomputers für Abrufe der Sperr-URL. |
|
Rufen Sie die codierten Bits nur aus dem Client-URL-Cache ab. Verwenden Sie die Verbindung nicht, um die URL abzurufen. |
|
Überprüfen Sie, ob die ThisUpdate-Eigenschaft oder -Erweiterung des aktuellen Kontexts größer oder gleich dem ftValidFor-Parameter ist. |
|
Führen Sie keine Zeitgültigkeitsprüfung durch. Verwenden Sie dies, um eine neuere Basis-Zertifikatsperrliste über die Verbindung abzurufen oder die Zeitgültigkeitsprüfung während eines Cacheabrufs zu umgehen. Wenn dieses Flag festgelegt ist, kann pftValidForNULL sein. |
|
Führen Sie keine Signaturüberprüfung durch. Verwenden Sie dies, wenn die Überprüfung des abgerufenen Objekts außerhalb dieser Funktion ausgeführt wird, oder um einen Ersatz eines abgerufenen Cacheeintrags durch einen neuen Cacheeintrag für das Objekt zu erzwingen. |
|
Dieser Wert ist für die zukünftige Verwendung reserviert. |
|
Ruft das zeit gültige Objekt aus einem OCSP-Antwortdienst nur basierend auf den Zugriffs-URLs für Autoritätsinformationen im aktuellen Kontext ab. Die CertVerifyRevocation-Funktion legt dieses Flag fest, wenn es aufgerufen wird, wobei der dwFlags-Parameter auf CERT_VERIFY_REV_SERVER_OCSP_FLAG festgelegt ist. |
|
Ruft nur die codierten Bits aus der Leitung ab. Verwendet nicht den URL-Cache. |
[in] dwTimeout
Ein Wert in Millisekunden, der angibt, wann ein URL-Abrufversuch beendet werden soll, der kein Ergebnis zurückgegeben hat.
[out, optional] ppvObject
Ein Zeiger auf eine Adresse für das zurückgegebene Objekt. Der Rückgabetyp kann einer der unterstützten Typen sein, die im pszObjectOid-Parameter der CryptRetrieveObjectByUrl-Funktion angezeigt werden.
[in, optional] pCredentials
Ein Zeiger auf eine optionale CRYPT_CREDENTIALS Struktur, die für den Zugriff auf die URL verwendet wird. Der einzige Typ von Anmeldeinformationen, die derzeit unterstützt werden, sind Benutzernamen- und Kennwortanmeldeinformationen.
[in, out, optional] pExtraInfo
Ein Zeiger auf eine optionale CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO-Struktur , die zusätzliche Informationen zum Cacheeintrag für ein Objekt enthält.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion TRUE zurück.
Wenn die Funktion fehlschlägt, gibt sie FALSE zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Es folgen einige mögliche Fehlercodes.
Rückgabecode | Beschreibung |
---|---|
|
Der angegebene Aufrufer TIME_VALID_OID_GET_CRL für den parameter pszTimeValidOid . Diese OID wird nicht unterstützt. |
|
Der Aufrufer legt das CRYPT_OCSP_ONLY_RETRIEVAL-Flag fest, und der Kontext enthält eine Nicht-OCSP-URL. |
|
Die Funktion konnte keine Zertifikatsperrliste aus einem Zertifikatkontext abrufen oder eine CTL abrufen, und es konnte keine URLs aus einem Cacheeintrag kopiert werden. |
|
Die Funktion konnte keinen Arbeitsspeicher für einen internen Arrayvorgang zuweisen. |
|
Der Aufrufer hat das CRYPT_CACHE_ONLY_RETRIEVAL-Flag nicht festgelegt und ist nicht mit dem Internet verbunden. |
Hinweise
Die Cryptnet Dynamic Link-Bibliothek implementiert einen TVO-Cache (Time Valid Object), der zur Unterstützung der CryptGetTimeValidObject-Funktion verwendet wird. Der Cache wird von einem prozess globalen TVO-Agent verwendet, wobei jeder Cacheeintrag aus den folgenden Informationen besteht.
- Ursprungsbezeichner
- Kontext-OID
- Kontext
- Abruf-URL
- Ablaufzeit
- Offline-URL-Zeitinformationen
Anforderungen
Anforderung | Wert |
---|---|
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 | Cryptnet.lib |
DLL | Cryptnet.dll |