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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline dar346  
#1 Оставлено : 4 июня 2021 г. 13:34:43(UTC)
dar346

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Коллеги, всем привет. Может кто-то подсказать где найти актуальный пример client'a для СМЭВ 1.3. Например, как этот, http://smev3.gosuslugi.r...hout%20dependencies).zip

Если такого нет, то может кто-то знает, где достать src crypto-adapter 1.2?

Сейчас при вызове метода DigitalSignatureFactory.init("JCP") из библиотеки crypto-adapter 1.2 вылезает ошибка

Цитата:
java.lang.NoClassDefFoundError: org/apache/xml/security/Init


Использую java 8 + jcp-2.0.41789.

Спасибо за ответ!

Отредактировано пользователем 4 июня 2021 г. 13:54:57(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 4 июня 2021 г. 14:04:14(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте. Xmlsec, xalan, serializer есть в зависимостях? В lib/ext? Jcp использует Xmlsec 1.5.0, см. в папке dependencies дистрибутива jcp.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
dar346 оставлено 04.06.2021(UTC)
Offline dar346  
#3 Оставлено : 4 июня 2021 г. 14:37:36(UTC)
dar346

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте. Xmlsec, xalan, serializer есть в зависимостях? В lib/ext? Jcp использует Xmlsec 1.5.0, см. в папке dependencies дистрибутива jcp.



Спасибо большое, помогло.

Если кто не понял, то надо посмотреть версии в скаченном дистрибутиве например, jcp-2.0.41789(ваша версия)\dependencies (см. скриншот) dependency_jcp.jpg (172kb) загружен 4 раз(а).

И добавить в модуль, где вызывается метод DigitalSignatureFactory.init("JCP"), необходимые зависимости.

<dependency>
<groupId>org.apache.santuario</groupId>
<artifactId>xmlsec</artifactId>
<version>1.5.0</version> - версия, которая указана в скаченном дистрибутиве jcp-2.0.41789(ваша версия)\dependencies
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>serializer</artifactId>
<version>2.7.2</version>
</dependency>

Offline dar346  
#4 Оставлено : 9 июня 2021 г. 17:14:12(UTC)
dar346

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте. Xmlsec, xalan, serializer есть в зависимостях? В lib/ext? Jcp использует Xmlsec 1.5.0, см. в папке dependencies дистрибутива jcp.


Всем добрый день, помогите разобраться с примером пожалуйста.

Спросить не у кого, есть пример с клиентом 1.1, ссылка в первом сообщении. Пытаюсь повторить аналогичный сценарий для СМЭВ 1.3. Использую java 8 + jcp-2.0.41789.

Цитата:

private static final String SMEV_URL = "http://smev3-d.test.gosuslugi.ru:5000/ws/smev-message-exchange-service-1.3.wsdl";

String contentString = xmlMapper.writeValueAsString(rootAssessmentBody);

initFileStore();

DigitalSignatureFactory.init(CRYPTO_PROVIDER);

KeyStoreWrapper keyStore = DigitalSignatureFactory.getKeyStoreWrapper();

PrivateKey spPrivateKey = keyStore.getPrivateKey(PERSONAL_CONTAINER_ALIAS, PERSONAL_CONTAINER_PASSWORD.toCharArray());
X509Certificate spCertificate = keyStore.getX509Certificate(PERSONAL_CONTAINER_ALIAS);

PrivateKey ovPrivateKey = keyStore.getPrivateKey(CONTAINER_ALIAS, CONTAINER_PASSWORD.toCharArray());
X509Certificate ovCertificate = keyStore.getX509Certificate(CONTAINER_ALIAS);

MessageExchangeEndpoint messageExchange = MessageExchangeEndpoint.create(
SMEV_URL, FTP_ADDRESS, ovPrivateKey, ovCertificate
);

String messageID = messageExchange.generateMessageID();

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(contentString)));

Element content = document.getDocumentElement();

// подготовка вложений
List<InAttachment> attachmentList = new ArrayList<>();
// TODO тут формируем список вложений, если они есть

// можно включить трассировку запросов и ответов (по умолчанию выключена)
InterceptorStorage.getRequest().setIntercept(true);
InterceptorStorage.getResponse().setIntercept(true);

try {
// используем ЭП-СП:
PersonalSigner signPersonal = new KeyPersonalSignerImpl(spPrivateKey, spCertificate);
messageExchange.sendRequest(messageID, content, signPersonal, null, attachmentList);
} catch (Exception exception) {
// тут могут быть разные exception в зависимости от ответа сервиса
exception.printStackTrace(System.err);
}

// через InterceptorStorage можно получить конверты запроса и ответа
System.out.println(InterceptorStorage.getRequest().getString());
System.out.println(InterceptorStorage.getResponse().getString());

}


При вызове метода sendRequest(messageID, content, signPersonal, null, attachmentList); возникает ошибка

Цитата:
ru.voskhod.crypto.exceptions.SignatureProcessingException: org.apache.xml.security.signature.ReferenceNotInitializedException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was org.apache.xml.security.signature.ReferenceNotInitializedException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was org.apache.xml.security.signature.XMLSignatureException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was org.apache.xml.security.transforms.TransformationException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was javax.xml.stream.XMLStreamException: Non-default namespace can not map to empty URI (as per Namespace 1.0 # 2) in XML 1.0 documents


Может кто-то знает куда messageId надо добавить? Или в пример выше надо что-то добавить? Или этот пример вообще не действителен уже?
Буду благодарен любой информации)
Спасибо за ответ.

Offline slynko  
#5 Оставлено : 29 декабря 2022 г. 20:33:17(UTC)
slynko

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: dar346 Перейти к цитате
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте. Xmlsec, xalan, serializer есть в зависимостях? В lib/ext? Jcp использует Xmlsec 1.5.0, см. в папке dependencies дистрибутива jcp.


Всем добрый день, помогите разобраться с примером пожалуйста.

Спросить не у кого, есть пример с клиентом 1.1, ссылка в первом сообщении. Пытаюсь повторить аналогичный сценарий для СМЭВ 1.3. Использую java 8 + jcp-2.0.41789.

Цитата:

private static final String SMEV_URL = "http://smev3-d.test.gosuslugi.ru:5000/ws/smev-message-exchange-service-1.3.wsdl";

String contentString = xmlMapper.writeValueAsString(rootAssessmentBody);

initFileStore();

DigitalSignatureFactory.init(CRYPTO_PROVIDER);

KeyStoreWrapper keyStore = DigitalSignatureFactory.getKeyStoreWrapper();

PrivateKey spPrivateKey = keyStore.getPrivateKey(PERSONAL_CONTAINER_ALIAS, PERSONAL_CONTAINER_PASSWORD.toCharArray());
X509Certificate spCertificate = keyStore.getX509Certificate(PERSONAL_CONTAINER_ALIAS);

PrivateKey ovPrivateKey = keyStore.getPrivateKey(CONTAINER_ALIAS, CONTAINER_PASSWORD.toCharArray());
X509Certificate ovCertificate = keyStore.getX509Certificate(CONTAINER_ALIAS);

MessageExchangeEndpoint messageExchange = MessageExchangeEndpoint.create(
SMEV_URL, FTP_ADDRESS, ovPrivateKey, ovCertificate
);

String messageID = messageExchange.generateMessageID();

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(contentString)));

Element content = document.getDocumentElement();

// подготовка вложений
List<InAttachment> attachmentList = new ArrayList<>();
// TODO тут формируем список вложений, если они есть

// можно включить трассировку запросов и ответов (по умолчанию выключена)
InterceptorStorage.getRequest().setIntercept(true);
InterceptorStorage.getResponse().setIntercept(true);

try {
// используем ЭП-СП:
PersonalSigner signPersonal = new KeyPersonalSignerImpl(spPrivateKey, spCertificate);
messageExchange.sendRequest(messageID, content, signPersonal, null, attachmentList);
} catch (Exception exception) {
// тут могут быть разные exception в зависимости от ответа сервиса
exception.printStackTrace(System.err);
}

// через InterceptorStorage можно получить конверты запроса и ответа
System.out.println(InterceptorStorage.getRequest().getString());
System.out.println(InterceptorStorage.getResponse().getString());

}


При вызове метода sendRequest(messageID, content, signPersonal, null, attachmentList); возникает ошибка

Цитата:
ru.voskhod.crypto.exceptions.SignatureProcessingException: org.apache.xml.security.signature.ReferenceNotInitializedException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was org.apache.xml.security.signature.ReferenceNotInitializedException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was org.apache.xml.security.signature.XMLSignatureException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was org.apache.xml.security.transforms.TransformationException: No message with ID "Can not perform transformation urn://smev-gov-ru/xmldsig/transform" found in resource bundle "org/apache/xml/security/resource/xmlsecurity"
Original Exception was javax.xml.stream.XMLStreamException: Non-default namespace can not map to empty URI (as per Namespace 1.0 # 2) in XML 1.0 documents


Может кто-то знает куда messageId надо добавить? Или в пример выше надо что-то добавить? Или этот пример вообще не действителен уже?
Буду благодарен любой информации)
Спасибо за ответ.



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