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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline mikelneo  
#1 Оставлено : 13 апреля 2012 г. 16:57:39(UTC)
mikelneo

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

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

Есть сертификат полученный от http://cryptopro.ru/certsrv/certrmpn.asp с включенной опцией "Включить усиленную защиту закрытого ключа"

Пытаюсь им подписать xml примерно так:

Получаю ключ:
key = store.getKey(alias, keyPass);

Здесь все выполняется успешно, ключ получаю.
Далее формирую xml подпись

...
final XMLSignature sig = new XMLSignature(doc, "", signMethod);
...
sig.sign((PrivateKey) key);

И вот в этом месте вываливается ошибка:
java.security.SignatureException
at ru.CryptoPro.JCP.Sign.e.engineSign(Unknown Source)
at java.security.Signature.sign(Unknown Source)
at ru.CryptoPro.JCPxml.xmldsig.SignatureGostR34102001.engineSign(Unknown Source)
at org.apache.xml.security.algorithms.SignatureAlgorithm.sign(Unknown Source)
at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
at signApplet.Processor.signXml(Processor.java:367)
at signApplet.SignApplet.signXml(SignApplet.java:145)
at signApplet.SignApplet.init(SignApplet.java:76)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: ru.CryptoPro.JCP.KeyStore.UserProtectedKeyException
at ru.CryptoPro.JCP.Key.PrivateKeySpec.e(Unknown Source)
at ru.CryptoPro.JCP.Key.PrivateKeySpec.signature(Unknown Source)
... 10 more

Если подписывать ключом без флага "Включить усиленную защиту закрытого ключа", то все выполняется корректною.

Offline Евгений Афанасьев  
#2 Оставлено : 13 апреля 2012 г. 21:49:57(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 713 раз в 673 постах
Здравствуйте.
Вы не пробовали снять экспортные ограничения?
"Для снятия экспортных ограничений необходимо скачать файл jce_policy-6.zip с политиками со страницы http://java.sun.com/javase/downloads/index.jsp , выбирая "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6".
Offline mikelneo  
#3 Оставлено : 13 апреля 2012 г. 21:56:42(UTC)
mikelneo

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

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

Не пробовал, а что это вообще такое? Файл я скачал, а что с ним дальше делать?
Offline Евгений Афанасьев  
#4 Оставлено : 14 апреля 2012 г. 1:41:18(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 713 раз в 673 постах
Пункт "Основные технические данные и характеристики СКЗИ. Размеры ключей" в "Руководстве администратора безопасности" (admin.html) в документации к JCP:
цитата -
"Возможна ситуация, когда установленная JRE имеет экспортные ограничения. США запрещает экспорт "сильной" криптографии и JCP с длиной ключа 256 бит попадает под это ограничение. Ограничения устанавливаются файлами local_policy.jar и US_export_policy.jar в каталоге <JRE>/jre/lib/security. Для снятия экспортных ограничений необходимо скачать файл jce_policy-6.zip с политиками со страницы http://java.sun.com/javase/downloads/index.jsp , выбирая "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6". Для отладки же можно просто скопировать US_export_policy.jar в local_policy.jar (оба файла должны присутствовать)."

Offline mikelneo  
#5 Оставлено : 16 апреля 2012 г. 13:48:47(UTC)
mikelneo

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

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

Сделал все по инструкции, ошибка осталась прежней.
Offline Евгений Афанасьев  
#6 Оставлено : 18 апреля 2012 г. 1:34:47(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 713 раз в 673 постах
Дело в том, что при использовании ключа с усиленной защитой должно выводиться окно для ввода пароля. Пока этого окна в jcp нет.
Offline mikelneo  
#7 Оставлено : 18 апреля 2012 г. 14:58:36(UTC)
mikelneo

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

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

Я же проставляю пароль при получении ключа:

Код:
key = store.getKey(alias, keyPass);


Может быть вы имеете в виду окно, аналогичное CryptoPro CSP со словами "Program read from secret carrier media"? Тогда понятно.
Offline Евгений Афанасьев  
#8 Оставлено : 18 апреля 2012 г. 15:26:10(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 713 раз в 673 постах
Да, это я и имел в виду - окошко для ввода пароля.
Offline evpolyakov  
#9 Оставлено : 30 июля 2012 г. 19:13:36(UTC)
evpolyakov

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

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

У нас такая же ошибка при использовании в JCP ключа с усиленной защитой с рутокена. Если берем самосгенеренный ключ, то подпись проходит корректно. Подмена файлов local_policy.jar и US_export_policy.jar в каталоге <JRE>/jre/lib/security не помогла. Как исправить ситуацию?

Ключ получаем таким образом:

keyStore = KeyStore.getInstance("RutokenStore");
keyStore.load(null, null);
privateKey = (PrivateKey) keyStore.getKey(containerName, password.toCharArray());

При вызове метода sign получаем ошибку:

java.security.SignatureException
at ru.CryptoPro.JCP.Sign.b.engineSign(Unknown Source)
at java.security.Signature.sign(Signature.java:553)
at ru.CryptoPro.JCPxml.xmldsig.SignatureGostR34102001.engineSign(Unknown Source)
at org.apache.xml.security.algorithms.SignatureAlgorithm.sign(Unknown Source)
at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
at sign_jcp.SignatureCreator.signXml(SignatureCreator.java:139)
at Test.main(Test.java:39)
Caused by: ru.CryptoPro.JCP.KeyStore.UserProtectedKeyException
at ru.CryptoPro.JCP.Key.PrivateKeySpec.c(Unknown Source)
at ru.CryptoPro.JCP.Key.PrivateKeySpec.signature(Unknown Source)
... 7 more

org.apache.xml.security.signature.XMLSignatureException: null
Original Exception was java.security.SignatureException
at ru.CryptoPro.JCPxml.xmldsig.SignatureGostR34102001.engineSign(Unknown Source)
at org.apache.xml.security.algorithms.SignatureAlgorithm.sign(Unknown Source)
at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
at sign_jcp.SignatureCreator.signXml(SignatureCreator.java:139)
at Test.main(Test.java:39)
java.security.SignatureException
at ru.CryptoPro.JCP.Sign.b.engineSign(Unknown Source)
at java.security.Signature.sign(Signature.java:553)
at ru.CryptoPro.JCPxml.xmldsig.SignatureGostR34102001.engineSign(Unknown Source)
at org.apache.xml.security.algorithms.SignatureAlgorithm.sign(Unknown Source)
at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
at sign_jcp.SignatureCreator.signXml(SignatureCreator.java:139)
at Test.main(Test.java:39)
Caused by: ru.CryptoPro.JCP.KeyStore.UserProtectedKeyException
at ru.CryptoPro.JCP.Key.PrivateKeySpec.c(Unknown Source)
at ru.CryptoPro.JCP.Key.PrivateKeySpec.signature(Unknown Source)
... 7 more
Offline Евгений Афанасьев  
#10 Оставлено : 30 июля 2012 г. 19:46:17(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 713 раз в 673 постах
Поддержки ключей с усиленной защитой в JCP пока нет. Доработка будет выполнена.

Отредактировано пользователем 30 июля 2012 г. 19:49:26(UTC)  | Причина: Не указана

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