Función CryptRetrieveTimeStamp (wincrypt.h)

La función CryptRetrieveTimeStamp codifica una solicitud de marca de tiempo y recupera el token de marca de tiempo de una ubicación especificada por una dirección URL a una entidad de marca de tiempo (TSA).

Sintaxis

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

Parámetros

[in] wszUrl

Puntero a una cadena de caracteres anchos terminada en NULL que contiene la dirección URL del TSA al que se va a enviar la solicitud.

dwRetrievalFlags

Conjunto de marcas que especifican cómo se recupera la marca de tiempo.

Valor Significado
TIMESTAMP_DONT_HASH_DATA
0x00000001
Inhiba el cálculo hash en la matriz de bytes a la que apunta el parámetro pbData .
TIMESTAMP_VERIFY_CONTEXT_SIGNATURE
0x00000020
Exigir la validación de firmas en la marca de tiempo recuperada.
Nota La marca TIMESTAMP_VERIFY_CONTEXT_SIGNATURE solo es válida si el miembro fRequestCerts del CRYPT_TIMESTAMP_PARA señalado por el parámetro pPara se establece en TRUE.
 
TIMESTAMP_NO_AUTH_RETRIEVAL
0x00020000
Establezca esta marca para impedir el control automático de la autenticación.

dwTimeout

Valor DWORD que especifica el número máximo de milisegundos que se van a esperar a la recuperación. Si este parámetro se establece en cero, esta función no agota el tiempo de espera.

[in] pszHashId

Puntero a una cadena de caracteres terminada en null que contiene el identificador de objeto de algoritmo hash (OID).

[in, optional] pPara

Puntero a una estructura de CRYPT_TIMESTAMP_PARA que contiene parámetros adicionales para la solicitud.

[in] pbData

Puntero a una matriz de bytes que se va a marcar.

cbData

Tamaño, en bytes, de la matriz a la que apunta el parámetro pbData .

[out] ppTsContext

Puntero a una estructura de PCRYPT_TIMESTAMP_CONTEXT . Cuando haya terminado de usar el contexto, debe liberarlo llamando a la función CryptMemFree .

[out, optional] ppTsSigner

Puntero a un PCERT_CONTEXT que recibe el certificado del firmante. Cuando haya terminado de usar esta estructura, debe liberarlo pasando este puntero a la función CertFreeCertificateContext .

Establezca este parámetro en NULL si el certificado del firmante de TSA no es necesario.

[out, optional] phStore

Identificador de un almacén de certificados inicializado con certificados a partir de la respuesta de marca de tiempo. Este almacén se puede usar para validar el certificado de firmante de la respuesta de la marca de tiempo.

Este parámetro puede ser NULL si no se necesitan los certificados auxiliares de TSA. Cuando haya terminado de usar este identificador, suéltelo pasando a la función CertCloseStore .

Valor devuelto

Si la función no puede recuperar, descodificar y validar el contexto de marca de tiempo, devuelve FALSE. Para obtener información de error extendida, llame a la función GetLastError .

Requisitos

   
Cliente mínimo compatible Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado wincrypt.h
Archivo DLL Crypt32.dll

Consulte también

CryptVerifyTimeStampSignature