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.

Valor Significado
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
Impor 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 a aguardar a recuperação. Se esse parâmetro for definido como zero, essa função não atingirá o tempo limite.

[in] pszHashId

Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o OID ( identificador de objeto do 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 carimbada.

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ê deverá 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ê deverá 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 de carimbo de data/hora. Esse repositório pode ser usado para validar o certificado do signatário da resposta de 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, solte-o passando-o para a função CertCloseStore .

Valor retornado

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

Requisitos

   
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho wincrypt.h
DLL Crypt32.dll

Confira também

CryptVerifyTimeStampSignature