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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline IrinaTom  
#1 Оставлено : 7 ноября 2015 г. 12:27:02(UTC)
IrinaTom

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

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

Добрый день, помогите разобраться, где я напортачила в установке

Был установлен JCP, как описано в инструкции.
Среди списка провайдеров появились:
...
7. XMLDSig (DOM XMLSignatureFactory; DOM KeyInfoFactory) //'этот был
...
10. CryptoPro Java Provider
11. CryptoPro Java Cipher Provider.
12. CryptoPro Java Revocation Checker.

Проблема при использовании:
XMLSignatureFactory xmlSignatureFactory = XMLSignatureFactory.getInstance("DOM",provider);

Reference ref = xmlSignatureFactory.newReference("#" + bodyId,
xmlSignatureFactory.newDigestMethod("http://www.w3.org/2001/04/xmldsig-more#gostr3411", null),
transformList,
null,
null);
Возникает ошибка:
java.security.NoSuchAlgorithmException: unsupported algorithm
at org.jcp.xml.dsig.internal.dom.DOMXMLSignatureFactory.newDigestMethod(DOMXMLSignatureFactory.java:202)
at finder.SmevMessageHelper.signHeader(SmevMessageHelper.java:132)
at finder.Finder.TryGetSmev(Finder.java:163)
at finder.Finder.main(Finder.java:107)

Приложен список всех провайдеров с сервисами Info.txt (29kb) загружен 4 раз(а).

В чем проблема?
Скажите, должны ли при установке эти изменения самостоятельно происходить:
Security.getProvider("XMLDSig").put("XMLSignatureFactory.DOM", "ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignatureFactory");
Security.getProvider("XMLDSig").put("KeyInfoFactory.DOM", "ru.CryptoPro.JCPxml.dsig.internal.dom.DOMKeyInfoFactory");

Offline Евгений Афанасьев  
#2 Оставлено : 7 ноября 2015 г. 17:05:33(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Здравствуйте.
Выполняете инициализацию JCPXMLDSigInit.init() в начале кода?
По идее - да, должны изменения происходить после Security.getProvider("XMLDSig").put(), но не факт, что провайдер XMLDSig используется.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.