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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline andreybig  
#1 Оставлено : 6 марта 2012 г. 21:13:03(UTC)
andreybig

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

Группы: Участники
Зарегистрирован: 06.03.2012(UTC)
Сообщений: 2
Откуда: Новосибирск

ошибка при подписании xml через вебсервис:
java.lang.ClassCastException: ru.CryptoPro.JCP.Key.GostPrivateKey cannot be cast to com.digt.trusted.jce.interfaces.GOST3410PrivateKey

установил Крипто Про JCP 1.0.52
скопировал в паку jre6\lib\ext
все библиотеки
использовал HDImageStore , добавил туда папку с тестовым сертификатом
зашёл на наш тестовый сервер для подписания xml по вебсервису
открылась java консоль с сертификатом, выбрал его ввёл пароль нажал далее
и выскочила ошибка
в логах java консоли :

Код:

org.apache.ws.security.WSSecurityException: Signature creation failed; nested exception is: 
	java.lang.ClassCastException: ru.CryptoPro.JCP.Key.GostPrivateKey cannot be cast to com.digt.trusted.jce.interfaces.GOST3410PrivateKey
	at org.apache.ws.security.message.WSSecSignature.computeSignature(WSSecSignature.java:726)
	at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:785)
	at org.pgg.dsig.tech.TechSignature.sign(TechSignature.java:107)
	at org.pgg.dsig.tech.SignApplet.validate(SignApplet.java:92)
	at org.pgg.dsig.tech.SignApplet.actionPerformed(SignApplet.java:66)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassCastException: ru.CryptoPro.JCP.Key.GostPrivateKey cannot be cast to com.digt.trusted.jce.interfaces.GOST3410PrivateKey
	at com.digt.trusted.jce.provider.JDKGOST3410ELSigner.engineInitSign(Unknown Source)
	at java.security.Signature.initSign(Unknown Source)
	at ru.CryptoPro.JCPxml.xmldsig.SignatureGostR34102001.engineInitSign(Unknown Source)
	at org.apache.xml.security.algorithms.SignatureAlgorithm.initSign(Unknown Source)
	at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
	at org.apache.ws.security.message.WSSecSignature.computeSignature(WSSecSignature.java:718)
	... 28 more


как исправить ошибку ?
у других тестеров с другого компа подписание прошло успешно
у меня стоит Крипто Про CSP - может она мешает ?
у меня Windows 7 , jre несколько стоит . я выбрал 32 битную 1.6.0_22
в 64 битной этот сертификат не виден . также и в jre7 64 битной
видимо его в 32 битной 1.6 генерировали

Отредактировано пользователем 6 марта 2012 г. 21:16:48(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 7 марта 2012 г. 1:23:31(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 705 раз в 666 постах
Здравствуйте.

Что это за класс
andreybig написал:
com.digt.trusted.jce.interfaces.GOST3410PrivateKey
?

Возможно, где-то используется сторонняя библиотека со своей реализацией класса ключа. Может быть, вы читаете закрытый ключ, используя процитированный класс, а потом помещаете объект в функцию подписи, которая требует GostPrivateKey из пакета JCP?

Offline andreybig  
#3 Оставлено : 7 марта 2012 г. 10:28:29(UTC)
andreybig

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

Группы: Участники
Зарегистрирован: 06.03.2012(UTC)
Сообщений: 2
Откуда: Новосибирск

оказалось что этот класс в библиотеке trusted_java153 которая находилась в папке jre6\lib\ext
убрал её и после этого всё стало нормально подписываться

Отредактировано пользователем 7 марта 2012 г. 10:30:40(UTC)  | Причина: Не указана

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