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 CryptRetrieveTimeStamp-Funktion codiert eine Zeitstempelanforderung und ruft das Zeitstempeltoken von einem Ort ab, der von einer URL zu einer Zeitstempelautorität (Time Stamping Authority, TSA) angegeben wurde.
Syntax
BOOL CryptRetrieveTimeStamp(
[in] LPCWSTR wszUrl,
DWORD dwRetrievalFlags,
DWORD dwTimeout,
[in] LPCSTR pszHashId,
[in, optional] const CRYPT_TIMESTAMP_PARA *pPara,
[in] const BYTE *pbData,
DWORD cbData,
[out] PCRYPT_TIMESTAMP_CONTEXT *ppTsContext,
[out, optional] PCCERT_CONTEXT *ppTsSigner,
[out, optional] HCERTSTORE *phStore
);
Die Parameter
[in] wszUrl
Ein Zeiger auf eine mit Null beendete breite Zeichenfolge, die die URL der TSA enthält, an die die Anforderung gesendet werden soll.
dwRetrievalFlags
Eine Reihe von Flags, die angeben, wie der Zeitstempel abgerufen wird.
| Wert | Bedeutung |
|---|---|
|
Hemmen Sie die Hashberechnung für das Array von Bytes, auf das der PbData-Parameter verweist. |
|
Erzwingen sie die Signaturüberprüfung für den abgerufenen Zeitstempel.
Anmerkung Das TIMESTAMP_VERIFY_CONTEXT_SIGNATURE Flag ist nur gültig, wenn das Element "fRequestCerts " des CRYPT_TIMESTAMP_PARA , auf das der pPara-Parameter verweist, auf TRUE festgelegt ist.
|
|
Legen Sie dieses Kennzeichen fest, um die automatische Authentifizierungsbehandlung zu verhindern. |
dwTimeout
Ein DWORD-Wert , der die maximale Anzahl von Millisekunden angibt, die auf den Abruf warten. Wenn dieser Parameter auf Null festgelegt ist, wird für diese Funktion kein Timeout ausgeführt.
[in] pszHashId
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die den Hashalgorithmus-Objektbezeichner (OID) enthält.
[in, optional] pPara
Ein Zeiger auf eine CRYPT_TIMESTAMP_PARA Struktur, die zusätzliche Parameter für die Anforderung enthält.
[in] pbData
Ein Zeiger auf ein Bytearray, das zeitstempelt werden soll.
cbData
Die Größe des Arrays in Bytes, auf das der PbData-Parameter verweist.
[out] ppTsContext
Ein Zeiger auf eine PCRYPT_TIMESTAMP_CONTEXT Struktur. Wenn Sie den Kontext verwendet haben, müssen Sie ihn freigeben, indem Sie die CryptMemFree-Funktion aufrufen.
[out, optional] ppTsSigner
Ein Zeiger auf eine PCERT_CONTEXT , die das Zertifikat des Signierers empfängt. Wenn Sie diese Struktur verwendet haben, müssen Sie ihn freigeben, indem Sie diesen Zeiger an die CertFreeCertificateContext-Funktion übergeben.
Legen Sie diesen Parameter auf NULL fest, wenn das Zertifikat des TSA-Signierers nicht benötigt wird.
[out, optional] phStore
Das Handle eines Zertifikatspeichers, der mit Zertifikaten aus der Zeitstempelantwort initialisiert wurde. Dieser Speicher kann zum Überprüfen des Signierzertifikats der Zeitstempelantwort verwendet werden.
Dieser Parameter kann NULL sein, wenn die TSA-Unterstützenden Zertifikate nicht benötigt werden. Wenn Sie dieses Handle verwendet haben, lassen Sie es los, indem Sie es an die CertCloseStore-Funktion übergeben.
Rückgabewert
Wenn die Funktion den Zeitstempelkontext nicht abrufen, decodieren und überprüfen kann, wird FALSE zurückgegeben. Rufen Sie für erweiterte Fehlerinformationen die GetLastError-Funktion auf.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows 7 [Desktop-Apps | UWP-Apps] |
| Mindestanforderungen für unterstützte Server | Windows Server 2008 R2 [Desktop-Apps | UWP-Apps] |
| Zielplattform | Fenster |
| Header | wincrypt.h |
| Library | Crypt32.Lib |
| DLL | Crypt32.dll |