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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline U3962  
#1 Оставлено : 21 декабря 2016 г. 13:46:28(UTC)
U3962

Статус: Активный участник

Группы: Участники
Зарегистрирован: 21.12.2016(UTC)
Сообщений: 46
Российская Федерация
Откуда: Сургут

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 3 раз в 2 постах
Добрый день.

Подскажите, каким образом подписать сообщения для СМЭВ 3.0, использую JCP?
Нет ли у кого примеров на JAVA?
или подобного примера для СМЭВ 3.0.?

Отредактировано пользователем 21 декабря 2016 г. 13:56:45(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 21 декабря 2016 г. 15:23:31(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Добрый день.
Не смотрели https://www.cryptopro.ru...ts&m=58221#post58221 ?
Offline U3962  
#3 Оставлено : 22 декабря 2016 г. 6:10:06(UTC)
U3962

Статус: Активный участник

Группы: Участники
Зарегистрирован: 21.12.2016(UTC)
Сообщений: 46
Российская Федерация
Откуда: Сургут

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 3 раз в 2 постах
Автор: afev Перейти к цитате
Добрый день.
Не смотрели https://www.cryptopro.ru...ts&m=58221#post58221 ?


Добрый день.
Да, первым делом поискал по слову СМЭВ. В той теме тоже просят пример.
Offline U3962  
#4 Оставлено : 10 января 2017 г. 13:37:03(UTC)
U3962

Статус: Активный участник

Группы: Участники
Зарегистрирован: 21.12.2016(UTC)
Сообщений: 46
Российская Федерация
Откуда: Сургут

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 3 раз в 2 постах
Добрый день.

Устанавливаем JCP.

Условия таковы:
jdk1.8.0_112
jcp.1.0.54
log.zip (2kb) загружен 4 раз(а).

Во вложении лог-файл, полученный при установки.

Подскажите, в чем причина ошибки "Can't find ru.CryptoPro.JCP.tools.resources.logger bundle"

Отредактировано пользователем 10 января 2017 г. 13:39:01(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#5 Оставлено : 10 января 2017 г. 13:41:11(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Offline U3962  
#6 Оставлено : 10 января 2017 г. 14:11:21(UTC)
U3962

Статус: Активный участник

Группы: Участники
Зарегистрирован: 21.12.2016(UTC)
Сообщений: 46
Российская Федерация
Откуда: Сургут

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 3 раз в 2 постах
Автор: afev Перейти к цитате


Подскажите, каким образом, используя jcp-2.0.38150 и Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
можно подписывать сообщения для СМЭВ 3.0.
Клиент который они публикуют (http://smev3.gosuslugi.ru/portal/api/files/1_client-3.4.34.0.zip)
поддерживает только jcp.1.0.54 (который не работает на jdk1.8.0_112).

Может кто то реализовывал и сталкивался?
Offline Евгений Афанасьев  
#7 Оставлено : 10 января 2017 г. 14:52:12(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Автор: U3962 Перейти к цитате
Клиент который они публикуют (http://smev3.gosuslugi.ru/portal/api/files/1_client-3.4.34.0.zip)
поддерживает только jcp.1.0.54 (который не работает на jdk1.8.0_112).
Может кто то реализовывал и сталкивался?

Попробуйте вместо 1.8 поставить 1.7 версии старше 1.7.0_25.

Offline lstef  
#8 Оставлено : 6 февраля 2017 г. 16:43:36(UTC)
lstef

Статус: Активный участник

Группы: Участники
Зарегистрирован: 28.04.2016(UTC)
Сообщений: 35
Российская Федерация
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
А кто нибудь может кто нибудь описать удачный опыт работы со СМЭВ-клиентом?
Можно отдельным топиком, полезно будет всем.

А то на практике удалось завести только первую часть - когда отправляешь поставщику запрос на услугу, смэв говорит что поставил в очередь на асинхронную проверку и всё.
Кроме того никак не получается вытащить из клиента то что он нагенерировал - возвращает одни нулы. Приходится wireshark'ом ловить трафик и смотреть что там и как
Offline lartok  
#9 Оставлено : 27 февраля 2017 г. 10:21:13(UTC)
lartok

Статус: Активный участник

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Здравствуйте! Можно ли используя приведенную ниже конструкцию подписать по формату СМЭВ3.0 используя Java 1.7.0_131 + jcp 2.0.370 + xmlsec-1.5.0. Сейчас все успешно работает по СМЭВ2.
Код:
DigitalSignatureFactory.init("JCP");
KeyStore keyStore = KeyStore.getInstance("HDImageStore");
keyStore.load(null, null);

// Получение ключа и сертификата.
PrivateKey privateKey = (PrivateKey)keyStore.getKey(fileoralias,password.toCharArray());
X509Certificate cert = (X509Certificate) keyStore.getCertificate(fileoralias);

Document e = XMLTransformHelper.buildDocumentFromString(xmlbyte);

// инициализация объекта формирования ЭЦП в соответствии с алгоритмом ГОСТ Р 34.10-2001
XMLSignature xmlSignature = new XMLSignature(e, "", "http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411", Transforms.TRANSFORM_C14N_EXCL_OMIT_COMMENTS);

/* Определение правил работы с XML-документом и добавление в узел подписи этих правил */

// создание узла преобразований <ds:Transforms> обрабатываемого XML-документа
Transforms transforms = new Transforms(e);

// добавление в узел преобразований правил работы с документом
transforms.addTransform(Transforms.TRANSFORM_ENVELOPED_SIGNATURE);
transforms.addTransform(Transforms.TRANSFORM_C14N_EXCL_OMIT_COMMENTS);
transforms.addTransform(SmevTransformSpi.ALGORITHM_URN);

// добавление в узел подписи ссылок (узла <ds:Reference>), определяющих правила работы с
// XML-документом (обрабатывается текущий документ с заданными в узле <ds:Transforms> правилами
// и заданным алгоритмом хеширования)

Element _element2Sign = e.getDocumentElement(); //element2Sign != null ? element2Sign : argDocument.getDocumentElement();
String referenceURI = _element2Sign.getAttribute("Id");

Attr attributeNode = _element2Sign.getAttributeNode("Id");
lement2Sign.setIdAttributeNode(attributeNode, true);

if (referenceURI == null || "".equals(referenceURI.trim())) {
    referenceURI = _element2Sign.getAttributeNS("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd", "Id");
}
if (referenceURI == null || "".equals(referenceURI.trim())) {
    referenceURI = "";
}
String refURI = referenceURI;
if (!refURI.isEmpty() && !refURI.startsWith("#")) {
    refURI = "#" + refURI;
}

xmlSignature.addDocument(refURI, transforms, "http://www.w3.org/2001/04/xmldsig-more#gostr3411");     

// создание внутри узла подписи узла <ds:KeyInfo> информации об открытом ключе на основе
// сертификата
xmlSignature.addKeyInfo(cert);

// создание подписи XML-документа
xmlSignature.sign(privateKey);

Метод работает, но возвращает тот же элемент что подавался на входе.
Offline lartok  
#10 Оставлено : 2 марта 2017 г. 15:49:01(UTC)
lartok

Статус: Активный участник

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Разобрался сам - спасибо всем за помощь :). Помогла тема https://www.cryptopro.ru....aspx?g=posts&t=9248 - автору спасибо!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.