Partilhar via


Função CryptRetrieveTimeStamp (wincrypt.h)

A função CryptRetrieveTimeStamp codifica uma solicitação de carimbo de data/hora e recupera o token de carimbo de data/hora de um local especificado por uma URL para uma TSA (Autoridade de Carimbo de Data/Hora).

Sintaxe

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

Um ponteiro para uma cadeia de caracteres largos terminada em nulo que contém a URL da TSA para a qual enviar a solicitação.

dwRetrievalFlags

Um conjunto de sinalizadores que especificam como o carimbo de data/hora é recuperado.

Value Meaning
TIMESTAMP_DONT_HASH_DATA
0x00000001
Inibir o cálculo de hash na matriz de bytes apontada pelo parâmetro pbData .
TIMESTAMP_VERIFY_CONTEXT_SIGNATURE
0x00000020
Imponha a validação de assinatura no carimbo de data/hora recuperado.
Nota O sinalizador TIMESTAMP_VERIFY_CONTEXT_SIGNATURE será válido somente se o membro fRequestCerts do CRYPT_TIMESTAMP_PARA apontado pelo parâmetro pPara for definido como TRUE.
 
TIMESTAMP_NO_AUTH_RETRIEVAL
0x00020000
Defina esse sinalizador para inibir o tratamento automático de autenticação.

dwTimeout

Um valor DWORD que especifica o número máximo de milissegundos para aguardar a recuperação. Se esse parâmetro for definido como zero, essa função não atingiu o tempo limite.

[in] pszHashId

Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o OID (identificador de objeto de algoritmo de hash).

[in, optional] pPara

Um ponteiro para uma estrutura CRYPT_TIMESTAMP_PARA que contém parâmetros adicionais para a solicitação.

[in] pbData

Um ponteiro para uma matriz de bytes a ser carimbado.

cbData

O tamanho, em bytes, da matriz apontada pelo parâmetro pbData .

[out] ppTsContext

Um ponteiro para uma estrutura PCRYPT_TIMESTAMP_CONTEXT . Quando terminar de usar o contexto, você deve liberá-lo chamando a função CryptMemFree .

[out, optional] ppTsSigner

Um ponteiro para um PCERT_CONTEXT que recebe o certificado do signatário. Quando terminar de usar essa estrutura, você deve liberá-la passando esse ponteiro para a função CertFreeCertificateContext .

Defina esse parâmetro como NULL se o certificado do signatário da TSA não for necessário.

[out, optional] phStore

O identificador de um repositório de certificados inicializado com certificados da resposta do carimbo de data/hora. Esse repositório pode ser usado para validar o certificado do signatário da resposta do carimbo de data/hora.

Esse parâmetro poderá ser NULL se os certificados de suporte da TSA não forem necessários. Quando terminar de usar esse identificador, libere-o passando-o para a função CertCloseStore .

Valor de retorno

Se a função não puder recuperar, decodificar e validar o contexto do carimbo de data/hora, ela retornará FALSE. Para obter informações de erro estendidas, chame a função GetLastError .

Requirements

Requirement Value
Cliente mínimo suportado Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo compatível Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
Header wincrypt.h
Library Crypt32.Lib
de DLL Crypt32.dll

Consulte também

CryptVerifyTimeStampSignature