Как подписать xml файл с помощью xmlsec1? Ввожу это
xmlsec1 sign --output doc-signed-x509.xml --privkey-pem keydsa.pem 123.xml
Получаю это
Error: failed to find default node with name="Signature"
Error: failed to load template "123.xml"
Error: failed to sign file "123.xml"
Помогите плиз.

21 Авг 2019 в 07:13
365 +1
0
Ответы
1

Для подписи XML файла с помощью xmlsec1 необходимо предварительно создать шаблон подписи, содержащий информацию о подписи, и затем использовать этот шаблон для подписи вашего XML файла. В вашем случае, ошибка связана с тем, что xmlsec1 не может найти шаблон для подписи.

Вот пример того, как можно подписать XML файл с использованием xmlsec1:

Создайте шаблон подписи в текстовом файле, например, назовем его signature.xml:<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue></DigestValue>
</Reference>
</SignedInfo>
<SignatureValue></SignatureValue>
</Signature>Теперь используйте xmlsec1 для подписи вашего XML файла с помощью созданного шаблона:xmlsec1 sign --output doc-signed-x509.xml --privkey-pem keydsa.pem --node-xpath "/:Signature/:SignedInfo/:Reference/:DigestValue" signature.xml 123.xml

Где signature.xml - ваш шаблон подписи, keydsa.pem - ваш закрытый ключ, 123.xml - XML файл, который вы хотите подписать.

Таким образом, вы должны подготовить шаблон подписи и использовать его вместе с xmlsec1 для успешной подписи XML файла. Надеюсь, это поможет вам решить проблему.

20 Апр 2024 в 13:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир