Функция для работы с усовершенствованной XAdES подписью.
Синтаксис
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 в случае неудачи, дополнительную информацию об ошибке можно получить через
Примечания
Функция для создания подписанного сообщения (XML документа) с возможностью задать параметры создания усовершенствованной подписи. Данную функцию нужно вызывать только один раз. Закодированное сообщение возвращается в ppSignedBlob, после использования его нужно освободить с помощью функции XadesFreeBlob.
Если элемент структуры pSignPara->pXadesSignPara->pSignerCert равен NULL, то при создании подписи будет выдано окно для выбора сертификата из хранилища "Личные" ("My") текущего пользователя. При этом сертификаты, срок действия которых истёк или в которых отсутствует ссылка на закрытый ключ, в списке не отображаются.
Требования
Заголовочный файл | xades.h |
---|---|
Библиотека | xades.dll (Windows), xades.so (Unix) |
Библиотека импорта | xades.lib (Windows) |
Минимальная версия продукта | 1.0 |