Развернуть все
Свернуть все

Функция CadesMsgGetCertificateValues

Возвращает сертификаты из доказательств подлинности подписи, вложенных в сообщение.

Синтаксис

C/C++
 BOOL CadesMsgGetCertificateValues (
   __in HCRYPTMSG hCryptMsg,
   __in DWORD dwSignatureIndex,
   __out PCADES_BLOB_ARRAY *ppCertificates
 );

Параметры

hCryptMsg

[in] Дескриптор подписанного сообщения, должен быть открыт с помощью CryptMsgOpenToDecode .

dwSignatureIndex

[in] Индекс подписи, из которой будут прочитаны штампы времени.

ppCertificates

[out] Указатель на указатель на тип _CADES_BLOB_ARRAY, в котором содержится массив закодированных сертификатов. После использования указатель необходимо освободить с помощью функции CadesFreeBlobArray.

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

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

Примечания

Возвращает закодированные сертификаты из доказательств подлинности подписи, вложенных в сообщение, в виде массива.

В случае отделённой подписи для работы функции CadesMsgGetCertificateValues нет необходимости подавать в CryptMsgUpdate подписанные данные, достаточно подать только отделённую подпись.

Обратите внимание, что функция CadesMsgGetCertificateValues возвращает только сертификаты, содержащиеся в атрибуте CertificateValues, так как такие сертификаты не могут быть получены стандартными средствами Crypto API. Следует отметить, что это не все сертификаты, содержащиеся в доказательствах подлинности, часть их, необходимая для проверки сертификата службы штампов времени, содержится в штампе времени на подпись. Получить такие сертификаты можно, подав в функцию CadesMsgGetCertificateValuesEx структуру SignerInfo штампа времени, предварительно декодировав его при помощи функций CryptMsgOpenToDecode и CryptMsgUpdate .

Требования

Заголовочный файл cades.h
Библиотека cades.dll (Windows), cades.so (Unix)
Библиотека импорта cades.lib (Windows)
Минимальная версия продукта 1.0