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

Функция XadesSign

Функция для работы с усовершенствованной XAdES подписью.

Синтаксис

C/C++
 BOOL XadesSign (
   __in PXADES_SIGN_MESSAGE_PARA pSignPara,
   __in LPCSTR pXPathString,
   __in BOOL fDetachedSignature,
   __in const BYTE *pbToBeSigned,
   __in DWORD cbToBeSigned,
   __out PCRYPT_DATA_BLOB *ppSignedBlob
 );

Параметры

pSignPara

[in] Указатель на структуру XADES_SIGN_MESSAGE_PARA.

pXPathString

[in] Регулярное выражение для получение узла подписи. Может быть NULL.

fDetachedSignature

[in] TRUE, если подпись отделенная.

pbToBeSigned

[in] Подписываемые данные (XML документ).

cbToBeSigned

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

ppSignedBlob

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

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

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

Примечания

Функция для создания подписанного сообщения (XML документа) с возможностью задать параметры создания усовершенствованной подписи. Данную функцию нужно вызывать только один раз. Закодированное сообщение возвращается в ppSignedBlob, после использования его нужно освободить с помощью функции XadesFreeBlob.

Если элемент структуры pSignPara->pXadesSignPara->pSignerCert равен NULL, то при создании подписи будет выдано окно для выбора сертификата из хранилища "Личные" ("My") текущего пользователя. При этом сертификаты, срок действия которых истёк или в которых отсутствует ссылка на закрытый ключ, в списке не отображаются.

Требования

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