Partager via


Fonction CryptRetrieveTimeStamp (wincrypt.h)

La fonction CryptRetrieveTimeStamp encode une demande d’horodatage et récupère le jeton d’horodatage à partir d’un emplacement spécifié par une URL vers une autorité d’horodatage (TSA).

Syntaxe

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

Paramètres

[in] wszUrl

Pointeur vers une chaîne de caractères larges terminée par null qui contient l’URL de la TSA à laquelle envoyer la demande.

dwRetrievalFlags

Ensemble d’indicateurs qui spécifient la façon dont l’horodatage est récupéré.

Valeur Signification
TIMESTAMP_DONT_HASH_DATA
0x00000001
Inhiber le calcul de hachage sur le tableau d’octets pointé par le paramètre pbData .
TIMESTAMP_VERIFY_CONTEXT_SIGNATURE
0x00000020
Appliquer la validation de signature sur l’horodatage récupéré.
NoteL’indicateur TIMESTAMP_VERIFY_CONTEXT_SIGNATURE est valide uniquement si le membre fRequestCerts du CRYPT_TIMESTAMP_PARA pointé par le paramètre pPara a la valeur TRUE.
 
TIMESTAMP_NO_AUTH_RETRIEVAL
0x00020000
Définissez cet indicateur pour empêcher la gestion automatique de l’authentification.

dwTimeout

Valeur DWORD qui spécifie le nombre maximal de millisecondes à attendre pour la récupération. Si ce paramètre est défini sur zéro, cette fonction n’expire pas.

[in] pszHashId

Pointeur vers une chaîne de caractères terminée par null qui contient l’identificateur d’objet de l’algorithme de hachage (OID).

[in, optional] pPara

Pointeur vers une structure CRYPT_TIMESTAMP_PARA qui contient des paramètres supplémentaires pour la requête.

[in] pbData

Pointeur vers un tableau d’octets à horodatage.

cbData

Taille, en octets, du tableau pointé vers le paramètre pbData .

[out] ppTsContext

Pointeur vers une structure PCRYPT_TIMESTAMP_CONTEXT . Une fois que vous avez terminé d’utiliser le contexte, vous devez le libérer en appelant la fonction CryptMemFree .

[out, optional] ppTsSigner

Pointeur vers un PCERT_CONTEXT qui reçoit le certificat du signataire. Une fois cette structure terminée, vous devez la libérer en passant ce pointeur à la fonction CertFreeCertificateContext .

Définissez ce paramètre sur NULL si le certificat du signataire TSA n’est pas nécessaire.

[out, optional] phStore

Handle d’un magasin de certificats initialisé avec des certificats de la réponse d’horodatage. Ce magasin peut être utilisé pour valider le certificat de signataire de la réponse d’horodatage.

Ce paramètre peut être NULL si les certificats de prise en charge TSA ne sont pas nécessaires. Lorsque vous avez terminé d’utiliser ce handle, relâchez-le en le transmettant à la fonction CertCloseStore .

Valeur retournée

Si la fonction ne peut pas récupérer, décoder et valider le contexte d’horodatage, elle retourne FALSE. Pour obtenir des informations d’erreur étendues, appelez la fonction GetLastError .

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête wincrypt.h
DLL Crypt32.dll

Voir aussi

CryptVerifyTimeStampSignature