Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Minin  
#1 Оставлено : 11 августа 2025 г. 11:11:51(UTC)
Minin

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.03.2023(UTC)
Сообщений: 8

Сказал(а) «Спасибо»: 4 раз
Здравствуйте!

Подскажите, пожалуйста, существуют ли утилиты от КриптоПро или сторонние решения, которые позволяют подписывать XML-документы встроенной подписью в формате XMLDSig без необходимости написания кода?

Требования:
Подпись должна быть встроенной (внутри XML-документа, а не отдельным файлом).
Формат подписи — ГОСТ Р 34.11-2012 XMLDSig.
Необходима консольная утилита — использование API (C#, Java и т. д.) не подходит.

Интересует решение, аналогичное утилитам cryptcp, csptest, но для встроенной XML-подписи.
Offline Андрей *  
#2 Оставлено : 11 августа 2025 г. 11:52:13(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,880
Мужчина
Российская Федерация

Сказал «Спасибо»: 594 раз
Поблагодарили: 2323 раз в 1821 постах
Здравствуйте.

А проверяли результат от плагина?

Если он проходит проверку - то можно сказать "есть утилита".
Но часто встречаю нюансы, которые не реализованы ещё.


Цитата:

Необходима консольная утилита — использование API (C#, Java и т. д.) не подходит.


Мало информации.
Под Windows или Linux?


И не плохо бы выкладывать больше информации.
Пример xml и подписанный.
(до подписания - убрать "ПДн", подписать тестовым сертификатом, например)
Техническую поддержку оказываем тут
Наша база знаний
Offline Minin  
#3 Оставлено : 11 августа 2025 г. 12:58:58(UTC)
Minin

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.03.2023(UTC)
Сообщений: 8

Сказал(а) «Спасибо»: 4 раз
Проверил результат работы плагина - он действительно выполняет почти все требования, но нам важно выполнять подписание в фоновом режиме через консольную команду (аналогично cryptcp).
Чтобы можно было вызвать из кода консольную команду, наподобие следующей, и получить встроенную подпись в файле.
cryptcp -sign -dn "CN=Name" -cert -der -detached -dir /path/to/files /path/to/file.xml

Подобное умеет делать xmlsec, но нам хочется работать именно с сертификатам от КриптоПро.

Работа ведётся под Astra Linux 1.8.

Во вложении будет уже подписанный файл (Часть данных заменена, но подпись оставлена как есть).
signed.xml (12kb) загружен 2 раз(а).
Так же требуется добавлять кастомные поля в подпись, например, должность подписанта.

<Object>
<SignatureProperties Id="signatureProperties_6861e6d1-7c16-47ea-b9f0-34537877a9df">
<SignatureProperty Target="#34aa2085-5edf-4006-9aed-ffeab2212939">
<SignRole>79997574</SignRole>
</SignatureProperty>
<SignatureProperty Target="#34aa2085-5edf-4006-9aed-ffeab2212939">
<SignDate>30.12.2021</SignDate>
</SignatureProperty>
</SignatureProperties>
</Object>

Offline Андрей *  
#4 Оставлено : 11 августа 2025 г. 13:28:30(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,880
Мужчина
Российская Федерация

Сказал «Спасибо»: 594 раз
Поблагодарили: 2323 раз в 1821 постах
Автор: Minin Перейти к цитате
Проверил результат работы плагина - он действительно выполняет почти все требования, но нам важно выполнять подписание в фоновом режиме через консольную команду (аналогично cryptcp).
Чтобы можно было вызвать из кода консольную команду, наподобие следующей, и получить встроенную подпись в файле.
cryptcp -sign -dn "CN=Name" -cert -der -detached -dir /path/to/files /path/to/file.xml

Подобное умеет делать xmlsec, но нам хочется работать именно с сертификатам от КриптоПро.

Работа ведётся под Astra Linux 1.8.

Во вложении будет уже подписанный файл (Часть данных заменена, но подпись оставлена как есть).
signed.xml (12kb) загружен 2 раз(а).
Так же требуется добавлять кастомные поля в подпись, например, должность подписанта.

<Object>
<SignatureProperties Id="signatureProperties_6861e6d1-7c16-47ea-b9f0-34537877a9df">
<SignatureProperty Target="#34aa2085-5edf-4006-9aed-ffeab2212939">
<SignRole>79997574</SignRole>
</SignatureProperty>
<SignatureProperty Target="#34aa2085-5edf-4006-9aed-ffeab2212939">
<SignDate>30.12.2021</SignDate>
</SignatureProperty>
</SignatureProperties>
</Object>



Вот, значит Linux...
Почему в подпись?
Почему не в составе подписанных узлов?
"Вне подписанных данных" - менять же можно было бы, если бы...
Или не так понял?

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#5 Оставлено : 11 августа 2025 г. 13:30:20(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,880
Мужчина
Российская Федерация

Сказал «Спасибо»: 594 раз
Поблагодарили: 2323 раз в 1821 постах
Какой xml интересный...
А с чего в нём standalone="yes" указан?
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#6 Оставлено : 11 августа 2025 г. 13:41:24(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,880
Мужчина
Российская Федерация

Сказал «Спасибо»: 594 раз
Поблагодарили: 2323 раз в 1821 постах
Автор: Андрей * Перейти к цитате
Какой xml интересный...
А с чего в нём standalone="yes" указан?


Хотя, пусть так...


в общем - вариант такой - можно попробовать Python -> pycades путь выбрать
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#7 Оставлено : 11 августа 2025 г. 13:42:26(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,880
Мужчина
Российская Федерация

Сказал «Спасибо»: 594 раз
Поблагодарили: 2323 раз в 1821 постах
Примеры
https://docs.cryptopro.ru/cades/pycades

+ примеры можно смотреть и для js
Техническую поддержку оказываем тут
Наша база знаний
Offline Minin  
#8 Оставлено : 11 августа 2025 г. 13:49:22(UTC)
Minin

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.03.2023(UTC)
Сообщений: 8

Сказал(а) «Спасибо»: 4 раз
Автор: Андрей * Перейти к цитате
Почему в подпись?
Почему не в составе подписанных узлов?


Мы рассматривали вариант добавления полей в основное тело XML, но по требованиям системы эти атрибуты (<SignRole>, <SignDate>) должны быть частью структуры подписи, а не документа.

Если есть способ подписать XML так, чтобы эти поля добавлялись автоматически (например, через шаблон или конфигурационный файл), это тоже подойдет. Главное — чтобы не требовалось ручное редактирование XML после подписания.

Автор: Андрей * Перейти к цитате
Примеры
https://docs.cryptopro.ru/cades/pycades

+ примеры можно смотреть и для js


Да, я уже анализировал это расширение, но, кажется, оно подразумевает именно написание кода на python, а не обычный вызов утилиты с набором параметров.
Нам крайне важно, чтобы вся работа по подписанию выполнялась именно сторонней утилитой, а мы могли бы передавать правильные аргументы.
Может быть появились новые функции или расширились уже имеющиеся в новых версиях КриптоПро CSP, которые бы подошли под требования?
Offline Андрей *  
#9 Оставлено : 11 августа 2025 г. 13:58:33(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,880
Мужчина
Российская Федерация

Сказал «Спасибо»: 594 раз
Поблагодарили: 2323 раз в 1821 постах
Автор: Minin Перейти к цитате

Да, я уже анализировал это расширение, но, кажется, оно подразумевает именно написание кода на python, а не обычный вызов утилиты с набором параметров.
Нам крайне важно, чтобы вся работа по подписанию выполнялась именно сторонней утилитой, а мы могли бы передавать правильные аргументы.
Может быть появились новые функции или расширились уже имеющиеся в новых версиях КриптоПро CSP, которые бы подошли под требования?


так напишите 1 раз код...
и потом вызывайте файл,
из него читать настройки + параметры (что там... папка?) и подписываться будет...
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Minin оставлено 11.08.2025(UTC)
Offline Minin  
#10 Оставлено : 11 августа 2025 г. 14:12:08(UTC)
Minin

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.03.2023(UTC)
Сообщений: 8

Сказал(а) «Спасибо»: 4 раз
Автор: Андрей * Перейти к цитате

так напишите 1 раз код...


Спасибо, если на текущий момент нет готовых решений, то придётся написать.
Но мы максимально не хотим этого делать, так как это влечёт за собой оценку встраиваемости...
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.