Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 (OID), der das angeforderte Objekt identifiziert. Wenn die HIWORD- des pszTimeValidOid Parameter null ist, gibt die LOWORD- den ganzzahligen Bezeichner für den Typ der angegebenen Struktur an.
Dieser Parameter kann einer der folgenden Werte sein: Informationen dazu, wie sich diese Werte auf den pvPara-Parameter auswirken, finden Sie in der Überschrift "For the pvPara parameter" in the Meaning column.
| Wert | Bedeutung |
|---|---|
|
Stellt eine Zertifikatvertrauensliste (Certificate Trust List, CTL) basierend auf einer URL bereit, die von der NextUpdateLocation Eigenschaft oder Erweiterung des aktuellen CTL-Kontexts abgerufen wird.
Für den pvPara-Parameter: Ein Zeiger auf eine PCCTL_CONTEXT, die die aktuelle Zertifikatvertrauensliste darstellt. |
|
Dieser Wert ist für die zukünftige Verwendung reserviert. |
|
Stellt eine CRL basierend auf Informationen bereit, die aus der Erweiterung der CRL-Verteilungspunkte des aktuellen Zertifikatkontexts abgerufen wurden.
Für den pvPara-Parameter: Ein Zeiger auf eine PCCERT_CONTEXT, die das Antragstellerzertifikat darstellt. |
|
Stellt eine Delta-CRL basierend auf Informationen bereit, die aus der neuesten CRL-Erweiterung des aktuellen Zertifikatkontexts abgerufen wurden.
Für den pvPara-Parameter: Ein Zeiger auf eine PCCERT_CONTEXT, die das Antragstellerzertifikat darstellt. |
|
Stellt eine Delta-CRL basierend auf Informationen bereit, die aus der neuesten CRL-Erweiterung des aktuellen CRL-Kontexts abgerufen werden.
Für den pvPara-Parameter: Ein Zeiger auf eine PCCERT_CRL_CONTEXT_PAIR, die das Antragstellerzertifikat und dessen Basis-CRL darstellt. |
[in] pvPara
Eine Struktur, die durch den Wert pszTimeValidOidbestimmt wird. Ausführliche Informationen finden Sie in der Beschreibung für den pszTimeValidOid Parameter.
[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 Aktualitätszeit 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 kumulative Timeout-Registrierungseinstellung des Clientcomputers für Abrufe von Sperr-URL. |
|
Rufen Sie nur die codierten Bits 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 Überprüfung der Gültigkeit der Zeit durch. Verwenden Sie diese Option, um eine neuere Basis-CRL über das Kabel abzurufen oder die Überprüfung der Gültigkeitsdauer 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 von einem OCSP-Antwortdienst nur basierend auf Autoritätsinformationszugriffs-URLs im aktuellen Kontext ab. Die CertVerifyRevocation--Funktion legt dieses Kennzeichen fest, wenn sie mit dem dwFlags Parameter aufgerufen wird, der auf CERT_VERIFY_REV_SERVER_OCSP_FLAG festgelegt ist. |
|
Ruft nur die codierten Bits aus dem Draht 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 zurzeit unterstützte Anmeldeinformationstyp sind Benutzername 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 TRUEzurück.
Wenn die Funktion fehlschlägt, wird FALSE-zurückgegeben. Rufen Sie für erweiterte Fehlerinformationen GetLastError-auf.
Einige mögliche Fehlercodes folgen.
| Rückgabecode | Beschreibung |
|---|---|
|
Der aufrufer hat TIME_VALID_OID_GET_CRL für den pszTimeValidOid Parameter angegeben. Dieses OID wird nicht unterstützt. |
|
Der Aufrufer legt das flag CRYPT_OCSP_ONLY_RETRIEVAL fest, und der Kontext enthält eine NICHT-OCSP-URL. |
|
Die Funktion konnte keine CRL aus einem Zertifikatkontext abrufen oder eine CTL abrufen, und es konnte keine URLs aus einem Cacheeintrag kopiert werden. |
|
Die Funktion konnte keinen Speicher für einen internen Arrayvorgang zuordnen. |
|
Der Aufrufer hat das CRYPT_CACHE_ONLY_RETRIEVAL-Flag nicht festgelegt und ist nicht mit dem Internet verbunden. |
Bemerkungen
Die Dynamic Link Library von Cryptnet implementiert einen zeit gültigen Objektcache (TVO), der verwendet wird, um die CryptGetTimeValidObject--Funktion zu unterstützen. Der Cache wird von einem prozess-globalen TVO-Agent verwendet, bei dem jeder Cacheeintrag aus den folgenden Informationen besteht.
- Ursprungsbezeichner
- Kontext-OID
- Zusammenhang
- Abruf-URL
- Ablaufzeit
- Informationen zur Offline-URL-Zeit
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Windows Vista [nur Desktop-Apps] |
| mindestens unterstützte Server- | Windows Server 2008 [Nur Desktop-Apps] |
| Zielplattform- | Fenster |
| Header- | wincrypt.h |
| Library | Cryptnet.lib |
| DLL- | Cryptnet.dll |