CryptRetrieveTimeStamp-Funktion (wincrypt.h)

Die CryptRetrieveTimeStamp-Funktion codiert eine Zeitstempelanforderung und ruft das Zeitstempeltoken von einem Durch eine URL angegebenen Ort an eine Zeitstempelautorität (Time Stamping Authority, TSA) ab.

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
);

Parameter

[in] wszUrl

Ein Zeiger auf eine mit NULL endende Breitzeichenzeichenfolge, die die URL der TSA enthält, an die die Anforderung gesendet werden soll.

dwRetrievalFlags

Ein Satz von Flags, die angeben, wie der Zeitstempel abgerufen wird.

Wert Bedeutung
TIMESTAMP_DONT_HASH_DATA
0x00000001
Hemmen Sie die Hashberechnung für das Array von Bytes, auf das der pbData-Parameter verweist.
TIMESTAMP_VERIFY_CONTEXT_SIGNATURE
0x00000020
Erzwingen der Signaturüberprüfung für den abgerufenen Zeitstempel.
Hinweis Das flag TIMESTAMP_VERIFY_CONTEXT_SIGNATURE ist nur gültig, wenn der fRequestCerts-Member der CRYPT_TIMESTAMP_PARA , auf die der pPara-Parameter verweist, auf TRUE festgelegt ist.
 
TIMESTAMP_NO_AUTH_RETRIEVAL
0x00020000
Legen Sie dieses Flag fest, um die automatische Authentifizierungsverarbeitung zu verhindern.

dwTimeout

Ein DWORD-Wert , der die maximale Anzahl von Millisekunden angibt, die auf den Abruf gewartet werden soll. Wenn dieser Parameter auf 0 festgelegt ist, tritt für diese Funktion kein Timeout auf.

[in] pszHashId

Ein Zeiger auf eine NULL-endende 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 Array von Bytes, die zeitstempelt werden sollen.

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 die Verwendung des Kontexts abgeschlossen 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 die Verwendung dieser Struktur abgeschlossen haben, müssen Sie sie 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 Signaturzertifikats der Zeitstempelantwort verwendet werden.

Dieser Parameter kann NULL sein, wenn die TSA-unterstützenden Zertifikate nicht benötigt werden. Wenn Sie mit der Verwendung dieses Handles fertig sind, geben Sie es frei, indem Sie es an die CertCloseStore-Funktion übergeben.

Rückgabewert

Wenn die Funktion den Zeitstempelkontext nicht abrufen, decodieren und überprüfen kann, gibt sie FALSE zurück. Rufen Sie die GetLastError-Funktion auf, um erweiterte Fehlerinformationen zu erhalten.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
DLL Crypt32.dll

Weitere Informationen

CryptVerifyTimeStampSignature