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

Функция CadesMsgGetSigningCertIdEncoded

Возвращает идентификатор сертификата, на котором была создана УЭЦП.

Синтаксис

C/C++
 BOOL CadesMsgGetSigningCertIdEncoded (
   __in DWORD dwEncodingType,
   __in PBYTE pbSignerInfo,
   __in DWORD cbSignerInfo,
   __out PCRYPT_DATA_BLOB *ppCertId
 );

Параметры

dwEncodingType

[in] Аналогичен параметру dwMsgEncodingType функции CryptMsgOpenToDecode .

pbSignerInfo

[in] Указатель на закодированную ASN.1-структуру SignerInfo, из которой необходимо получить идентификатор сертификата, на котором была создана УЭЦП.

cbSignerInfo

[in] Число байт в массиве pbSignerInfo.

ppCertId

[out] Указатель на указатель на структуру CRYPT_DATA_BLOB . В этой структуре возвращается идентификатор сертификата в виде декодированной структуры CERT_ID, с заполненым полем IssuerSerialNumber. Структура должна быть освобождена после использования с помощью CadesFreeBlob.

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

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

Примечания

Данную функцию можно использовать при необходимости самостоятельного поиска сертификата создателя подписи. При проверке подписи для поиска сертификата удобнее задать поле hStore структуры CADES_VERIFICATION_PARA.

Замечание

Данная функция извлекает идентификатор сертификата из подписанных атрибутов SigningCertificateV2, SigningCertificate или OtherSigningCertificate. В отличие от данной функции функция CryptMsgGetParam с флагом CMSG_SIGNER_CERT_ID_PARAM, извлекает идентификатор сертификата из поля sid структуры SignerInfo. Поэтому для получения идентификатора сертификата из подписанных атрибутов УЭЦП следует использовать функции CadesMsgGetSigningCertId, CadesMsgGetSigningCertIdEx и CadesMsgGetSigningCertIdEncoded.

Требования

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