| 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 28.11.2019(UTC)
 Сообщений: 8
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Добрый день! Очень нуждаюсь в помощи!) Необходимо отправлять xml файлы подписанные по правилам: Цитата:Формат подписи: XMLDSig detached  url: http://www.w3.org/2000/09/xmldsig Расчет хэш-сумм: ГОСТ Р 34.11-2012 url: urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256 Формирования подписи: ГОСТ Р 34.10-2012 url: urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256 Каноникализация: Exclusive XML Canonicalization от 18 July 2002 url: http://www.w3.org/2001/10/xml-exc-c14n# Дополнительная трансформация (для XMLDSig): Нормализация СМЭВ url: urn://smev-gov-ru/xmldsig/transform - Установили криптопро csp 4 на linux. - Получили папку в формате .000 и импортировали ее получив контейнер. - Нам прислали файл в формате .cer и тоже его импортировали в контейнер. - У нас есть xml файлы с данными без каких либо подписей и кэш. Через командную строку подписал файл, но формат совершенно иной получаю, не соответствует xmldsig Цитата:csptestf -sfsign -sign -add -in insert.xml -out insert.xml.sign -my email@email.ru какое ПО нужно или какой командой можно подпись сделать или надо самим софт писать ? Какие следующие шаги ? Начинаю читать документацию и там на 5 лет можно пропасть, одна терминология и ничего не понятно. Мы используем php на сервере Отредактировано пользователем 28 ноября 2019 г. 14:17:17(UTC)
 | Причина: Не указана | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Администраторы
 Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,417  Откуда: КРИПТО-ПРОСказал «Спасибо»: 37 разПоблагодарили: 729 раз в 630 постах
 
 | 
            
		      
                Самый простой способ сделать xmldsig на linux - использовать DSS Lite: https://www.cryptopro.ru/products/dss-lite Мы в течение года выпустим библиотеку для XAdES, а пока можно использовать xmlsec\libxml2\mscrypto - работает с некоторыми исправлениями. Или на Java (JCSP\Java CSP) | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 28.11.2019(UTC)
 Сообщений: 8
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Автор: Максим Коллегин  Самый простой способ сделать xmldsig на linux - использовать DSS Lite: https://www.cryptopro.ru/products/dss-lite Мы в течение года выпустим библиотеку для XAdES, а пока можно использовать xmlsec\libxml2\mscrypto - работает с некоторыми исправлениями. Или на Java (JCSP\Java CSP) Спасибо! Но DSS Lite это решение как я понял для браузерной веб версии.  А мы должны подписывать в бекенде и отправлять запросы,  пользователей с браузером у нас нет) Правильно ли я понял, что необходимо самому писать на java формирование и подпись xml ? Если да то у меня несколько вопросов: - Как я понял нужно использовать СМЭВ 3, я нашел примеры в блоге КриптоПроhttps://www.cryptopro.ru...olzovaniem-kriptopro-jcp Статья в нашем случае уже не актуальна, где можно найти пример реализации ? - Где взять: закрытый ключ, открытый ключ, x509 сертификат кто должен прислать или мы должны сами его создать через open ssl ? ничерта не понятно Извините за глупость, но столько теории и документации, что начать не понятно с чего. | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,977  Сказал «Спасибо»: 605 разПоблагодарили: 2347 раз в 1843 постах
 
 | 
            
		      
                Автор: gradus   - Где взять: закрытый ключ, открытый ключ, x509 сертификат кто должен прислать или мы должны сами его создать через open ssl ? ничерта не понятно
 
 Извините за глупость, но столько теории и документации, что начать не понятно с чего.
 Здравствуйте. Начните с этого раздела: https://www.cryptopro.ru/category/faq/linuxunix-0 Ключи\сертификаты - можете сами сформировать для тестов. Можно через браузер с плагином, в тестовом УЦ КРИПТО-ПРО . Потом - в боевых условиях потребуется получить сертификат в аккредитованном УЦ. | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 28.11.2019(UTC)
 Сообщений: 8
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Автор: Андрей Писарев  Автор: gradus   - Где взять: закрытый ключ, открытый ключ, x509 сертификат кто должен прислать или мы должны сами его создать через open ssl ? ничерта не понятно
 
 Извините за глупость, но столько теории и документации, что начать не понятно с чего.
 Здравствуйте. Начните с этого раздела: https://www.cryptopro.ru/category/faq/linuxunix-0 Ключи\сертификаты - можете сами сформировать для тестов. Можно через браузер с плагином, в тестовом УЦ КРИПТО-ПРО . Потом - в боевых условиях потребуется получить сертификат в аккредитованном УЦ. Мне и так прислали два.сертификата, один с содержанием моей организации и второй  ГОСТ2012.cer И еще какие-то сертификаты надо получить ? Я нашел статью https://habr.com/ru/company/alfa/blog/350158/  и скрипт https://github.com/VBurm...er/SmevTransformSpi.java Но скрипт просто проводит валидацию xml для дальнейшей подписи, верно ? В статье приведены только куски кода для подписи, полноценного примера нет. Можно ли не быть гиком java, не знать наизусть документацию всех продуктов крипто про и просто найти пример подставив свои значения и получить подписанный xml ? Сори за сарказм, просто голова лопается от количества документации и отсутствия простых человеческих решений. p.s. Я готов заплатить за помощь, мне здоровье важнее. Отредактировано пользователем 3 декабря 2019 г. 22:56:42(UTC)
 | Причина: Не указана | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Эксперт
 Группы: Участники
 Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602  Откуда: Иркутская областьСказал(а) «Спасибо»: 110 разПоблагодарили: 397 раз в 367 постах
 
 | 
            
		      
                Как я Вас понимаю, но гиком все равно быть придется. Не обязательно гиком именно Джавы (есть еще варианты с Си++/Си#, с openssl - там поддержки еще меньше, но многие пилили обмен с ГИС ЖКХ через openssl), но нет единого решения, все городят "костыли" под себя. Все статьи, которые упомянуты дельные, но имеют общий недостаток - устаревание со временем. Время идет и статья 2012 года теперь в основном как ориентир как же все таки подписывать, по смэв 3 статья тоже вроде без последних веяний (гост-2012). До кучи порекомендую еще посмотреть портал СМЭВ 3 https://smev3.gosuslugi.ru  там есть адаптер Джава. Он рассматривался в статье да, но статья не обновляется, а адаптер обновляется. Это не совсем готовое решение, но есть "от чего плясать". | 
    | 
              1 пользователь поблагодарил two_oceans за этот пост. |  | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 28.11.2019(UTC)
 Сообщений: 8
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Автор: two_oceans  Как я Вас понимаю, но гиком все равно быть придется. Не обязательно гиком именно Джавы (есть еще варианты с Си++/Си#, с openssl - там поддержки еще меньше, но многие пилили обмен с ГИС ЖКХ через openssl), но нет единого решения, все городят "костыли" под себя. Все статьи, которые упомянуты дельные, но имеют общий недостаток - устаревание со временем. Время идет и статья 2012 года теперь в основном как ориентир как же все таки подписывать, по смэв 3 статья тоже вроде без последних веяний (гост-2012). До кучи порекомендую еще посмотреть портал СМЭВ 3 https://smev3.gosuslugi.ru  там есть адаптер Джава. Он рассматривался в статье да, но статья не обновляется, а адаптер обновляется. Это не совсем готовое решение, но есть "от чего плясать". Спасибо!) Оххх сложно будет,  с учетом, что времени осталось до конца года) Потом отрубят старый гост Вот вроде то что мне нужноhttps://www.cryptopro.ru...aspx?g=posts&t=17263 Не подкажите как на linux через командную строку скомпилировать файлы ? (я на сервер разворачиваю там нет  возможности ставить ide) я создал файл test.java рядом папку lib закинул туда все из каталога /opt/cryptopro-jcp-2.0/dependencies Запускаю так Код:javac -cp "lib/*" test.java
 сам код: Код:
import dynamic.xades.*;
public class test{
	public static void main(final String[] arguments) throws Exception {
		String path = "XML/evacuation_insert.xml";
		Init.init();
			Security.addProvider(new JCP());
			System.setProperty("org.apache.xml.security.ignoreLineBreaks", "true");
			System.setProperty("org.apache.xml.security.resource.config", "resource/jcp.xml");
			FileKeyingDataProvider dp = new FileKeyingDataProvider();
			dp.setAlias("myalias");
			XADESSigner signer = new XADESSigner() ;
			signer.setSecurityProvider("JCP");
			signer.setKeyingDataProvider(dp);
			signer.setSignedElementId("signed-data-container");
			signer.init();
			byte[] encoded = Files.readAllBytes(Paths.get(path));
			InputStream bStream = new ByteArrayInputStream(encoded);
			SOAPMessage request = MessageFactory.newInstance().createMessage(null, bStream);
			SOAPBody body = request.getSOAPBody();
			signer.sign(request, null);
			String tmpDoc = toString(request.getSOAPPart());
			System.out.println("doccc: " + tmpDoc);
	}
}
 получаю ошибку test.java:7: error: cannot find symbol 		Init.init(); 		^ и т.п. Отредактировано пользователем 12 декабря 2019 г. 15:44:21(UTC)
 | Причина: Не указана | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Участники
 Зарегистрирован: 30.06.2016(UTC) Сообщений: 3,492  Сказал «Спасибо»: 53 разПоблагодарили: 803 раз в 742 постах
 
 |  | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 28.11.2019(UTC)
 Сообщений: 8
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Забыл отписаться) разобрался в java, крипто и пришлось самому с 0 все писат т.к. все примеры не актуальны ь + сделал связь, что бы через php подписывать xml.Всем спасибо, было не просто)
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Сотрудник
 Группы: Администраторы, УчастникиЗарегистрирован: 16.04.2008(UTC)
 Сообщений: 1,556
 
 Сказал(а) «Спасибо»: 43 разПоблагодарили: 650 раз в 448 постах
 
 |  | 
|  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close