Функция SignerTimeStampEx3

Функция SignerTimeStampEx3 устанавливает метки времени для указанного субъекта и поддерживает установку меток времени для нескольких подписей.

Примечание

У этой функции нет связанного файла заголовка или библиотеки импорта. Чтобы вызвать эту функцию, необходимо создать определяемый пользователем файл заголовка и использовать функции LoadLibrary и GetProcAddress для динамического связывания с Mssign32.dll.

 

Синтаксис

HRESULT WINAPI SignerTimeStampEx3(
  _In_       DWORD                  dwFlags,
  _In_       DWORD                  dwIndex,
  _In_       SIGNER_SUBJECT_INFO    *pSubjectInfo,
  _In_       PCWSTR                 pwszHttpTimeStamp,
  _In_       PCWSTR                 pszAlgorithmOid,
  _In_opt_   PCRYPT_ATTRIBUTES      psRequest,
  _In_opt_   PVOID                  pSipData,
  _Out_      SIGNER_CONTEXT         **ppSignerContext,
  _In_opt_   PCERT_STRONG_SIGN_PARA pCryptoPolicy,
  _Reserved_ PVOID                  pReserved
);

Параметры

dwFlags [in]

Флаг, указывающий тип создаваемой метки времени. Этот параметр может принимать одно из указанных ниже значений. Значения являются взаимоисключающими.

Значение Значение
SIGNER_TIMESTAMP_AUTHENTICODE
Указывает метку времени Authenticode.
Примечание: Authenticode больше не является предпочтительным типом метки времени. Поддержка меток времени Authenticode может быть удалена в будущем. Вместо этого рекомендуется использовать RFC 3161.
SIGNER_TIMESTAMP_RFC3161
Указывает метку времени, совместимую с RFC 3161.

 

dwIndex [in]

Указывает порядковый номер подписи, к которой будет добавлена метка времени. Если это значение равно нулю (0), внешней сигнатуре будет присвоена метка времени.

pSubjectInfo [in]

Адрес структуры SIGNER_SUBJECT_INFO , представляющей субъект, на который распространяется метка времени.

pwszHttpTimeStamp [in]

Адрес строки Юникода, завершаемой null, которая содержит URL-адрес сервера меток времени.

pszAlgorithmOid [in]

Хэш-алгоритм, используемый для выполнения меток времени, совместимых с RFC 3161. Этот параметр игнорируется для меток времени Authenticode.

psRequest [in, необязательный]

Необязательный элемент. Адрес структуры CRYPT_ATTRIBUTES , содержащей дополнительные атрибуты, добавляемые в запрос метки времени.

Этот параметр является необязательным и может иметь значение NULL , если он не включен.

pSipData [в, необязательно]

Необязательный элемент. 32-разрядное значение, которое передается в качестве дополнительных данных в функции пакета интерфейса субъекта (SIP). Формат и содержимое этого параметра определяется поставщиком SIP.

Этот параметр является необязательным и может иметь значение NULL , если он не включен.

ppSignerContext [out]

Необязательный элемент. Адрес указателя на структуру SIGNER_CONTEXT , содержащую подписанный BLOB-объект. Завершив использование структуры SIGNER_CONTEXT , освободите ее, вызвав функцию SignerFreeSignerContext .

pCryptoPolicy [in, необязательный]

При наличии указатель на структуру CERT_STRONG_SIGN_PARA, содержащую параметры, используемые для проверка для строгих сигнатур. Метка времени должна пройти эту политику шифрования.

Сохранились

Зарезервировано. Это значение должно иметь значение NULL.

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

Если функция завершается успешно, функция возвращает S_OK.

Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Возможные коды ошибок, возвращаемые этой функцией, включают, помимо прочего, следующие. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

Код возврата Описание
E_INVALIDARG
Эта ошибка может быть возвращена при следующих условиях:
  • Для параметра dwFlags необходимо задать SIGNER_TIMESTAMP_AUTHENTICODE или SIGNER_TIMESTAMP_RFC3161.
  • Параметр pReserved должен иметь значение NULL.
  • Если вы задали флаг SIGNER_TIMESTAMP_AUTHENTICODE в параметре dwFlags , необходимо задать для параметра dwIndex значение 0.

 

Требования

Требование Значение
Минимальная версия клиента
Windows 8 [только классические приложения]
Минимальная версия сервера
Windows Server 2012 [только классические приложения]
DLL
Mssign32.dll

См. также раздел

SignerTimeStamp

SignerTimeStampEx

SignerTimeStampEx2