#xml #command-line #certificate #digital-signature #xmlsec
Вопрос:
Итак, я пытаюсь подписать XML-файл через XmlSec, и когда я нажимаю enter, чтобы выполнить эту строку, написанную в командной строке:
xmlsec --sign --pkcs12 FISKAL.p12 --pwd password --trusted-pem root_ca.pem --id-attr:Id Request --id-attr:Id Reference --output signedfile.xml file.xml
Я получаю сообщение об ошибке Windows «xmlsec.exe перестал работать». Я полагаю, что моя установка этой программы, к которой я очень не привык, могла быть неправильной? Я скачал «libxmlsec-1.2.18.win32.zip» от zlatkovic.com, распаковал его и добавил следующие файлы в папку «bin» распакованного пакета (где xmlsec.exe есть):
- iconv.dll
- libexslt.dll
- libxml2.dll
- libxmlsec.dll
- libxmlsec-mscrypto.dll
- libxmlsec-openssl.dll
- libxslt.dll
- zlib1.dll
Поскольку командная строка , казалось, распознала программу только при вводе и выполнении xmlsec
, я подумал, что все в порядке. Должен ли я сделать что-то по-другому? В чем еще может быть проблема?
Я заранее очень благодарю всех за всю помощь в решении моей проблемы.
Ответ №1:
Обновление с помощью решения, которое я нашел, на случай, если кто-то окажется в подобной (глупой) ситуации:
Все было в порядке. Проблема заключалась в том, что я пытался запустить 32-разрядную версию xmlsec в 64-разрядной Windows. Убедитесь, что вы загрузили правильные двоичные файлы с zlatkovic.com («64-разрядная» папка его каталога содержит правильные версии xmlsec — «xmlsec1» — и все другие необходимые двоичные файлы).
И не забудьте добавить папку bin в переменную среды PATH!