Поделиться через


Функция CryptRetrieveTimeStamp (wincrypt.h)

Функция CryptRetrieveTimeStamp кодирует запрос метки времени и извлекает маркер метки времени из расположения, указанного URL-адресом центра метки времени (TSA).

Синтаксис

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

Параметры

[in] wszUrl

Указатель на строку, завершающуюся значением NULL, которая содержит URL-адрес TSA, в который отправляется запрос.

dwRetrievalFlags

Набор флагов, указывающий, как извлекается метка времени.

Ценность Meaning
TIMESTAMP_DONT_HASH_DATA
0x00000001
Запретить вычисление хэша в массиве байтов, на который указывает параметр pbData .
TIMESTAMP_VERIFY_CONTEXT_SIGNATURE
0x00000020
Принудительное применение проверки подписи для полученной метки времени.
Заметка Флаг TIMESTAMP_VERIFY_CONTEXT_SIGNATURE действителен, только если элемент fRequestCertsCRYPT_TIMESTAMP_PARA , на который указывает параметр pPara , имеет значение TRUE.
 
TIMESTAMP_NO_AUTH_RETRIEVAL
0x00020000
Установите этот флаг, чтобы запретить автоматическую обработку проверки подлинности.

dwTimeout

Значение DWORD , указывающее максимальное число миллисекунда для ожидания извлечения. Если этот параметр равен нулю, эта функция не истекает.

[in] pszHashId

Указатель на строку символов, завершающую значение NULL, содержащую идентификатор объекта хэш-алгоритма (OID).

[in, optional] pPara

Указатель на структуру CRYPT_TIMESTAMP_PARA , содержащую дополнительные параметры для запроса.

[in] pbData

Указатель на массив байтов для метки времени.

cbData

Размер массива в байтах, на который указывает параметр pbData .

[out] ppTsContext

Указатель на структуру PCRYPT_TIMESTAMP_CONTEXT . Завершив использование контекста, его необходимо освободить, вызвав функцию CryptMemFree .

[out, optional] ppTsSigner

Указатель на PCERT_CONTEXT , который получает сертификат подписи. После завершения использования этой структуры необходимо освободить его, передав этот указатель на функцию CertFreeCertificateContext .

Задайте для этого параметра значение NULL , если сертификат подписи TSA не нужен.

[out, optional] phStore

Дескриптор хранилища сертификатов, инициализированный сертификатами из ответа метки времени. Это хранилище можно использовать для проверки сертификата подписи ответа метки времени.

Этот параметр может иметь значение NULL , если не требуются вспомогательные сертификаты TSA. Завершив использование этого дескриптора, отпустите его, передав его в функцию CertCloseStore .

Возвращаемое значение

Если функция не может получить, декодировать и проверить контекст метки времени, возвращает значение FALSE. Для получения расширенных сведений об ошибке вызовите функцию GetLastError .

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 7 [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 R2 [классические приложения | Приложения UWP]
целевая платформа Виндоус
Header wincrypt.h
Library Crypt32.Lib
DLL Crypt32.dll

См. также

CryptVerifyTimeStampSignature