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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline ivanko  
#1 Оставлено : 15 мая 2020 г. 0:00:56(UTC)
ivanko

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

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

Сказал(а) «Спасибо»: 6 раз
Поблагодарили: 3 раз в 2 постах
Коллеги, подскажите пожалуйста.
Пробуем запустить на примере JCSP/Signature/Signature.java свое подписание из загрузки.
Ниже код. Все в нем хорошо, только на строке validator.initVerify(publicKey); падает с ошибкой Invalid key type ru.CryptoPro.JCP.Key.GostPublicKey
JCSP - 2.0.40035
CSP - 4.0.9963 / 4.0.9019 KC1

Как быть?

Offline Евгений Афанасьев  
#2 Оставлено : 15 мая 2020 г. 9:52:05(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Здравствуйте. Проблема, скорее вмего, в том, что провайдер по умолчанию у вас jcp, а вы пытаетесь использовать в коде jcsp. Когда java декодирует открытый ключ, она берет любой первый провайдер из списка провайдеров, поддерживающий данный алгоритм открытого ключа, т.е. jcp. Задайте провайдер по умолчанию jcsp в панели управления jcp на вкладке "Алгоритмы".
Offline ivanko  
#3 Оставлено : 15 мая 2020 г. 10:05:29(UTC)
ivanko

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

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

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

Спасибо за ответ! Очень здорово, что так быстро)

А можно это как-то в программном коде или из командной строки сделать?
UPD!.
Получилось!
Цитата:

Provider jcsp = new JCSP();
Security.removeProvider(JCSP.PROVIDER_NAME);
Security.removeProvider(JCP.PROVIDER_NAME);
Security.addProvider(jcsp);

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

Offline Евгений Афанасьев  
#4 Оставлено : 15 мая 2020 г. 10:19:22(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Лучше обновиться с 2.0.40035 до более новой сборки (последней сертифицированной), и потом в используемой java в ее java.security (<JRE>/lib/security/java.security)задать порядок провайдеров. Если вы используете JCSP, то он должен быть выше JCP, например:
Код:

security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
security.provider.10=sun.security.mscapi.SunMSCAPI
security.provider.11=ru.CryptoPro.JCSP.JCSP
security.provider.12=ru.CryptoPro.JCP.JCP
security.provider.13=ru.CryptoPro.reprov.RevCheck
security.provider.14=ru.CryptoPro.Crypto.CryptoProvider
Offline ivanko  
#5 Оставлено : 15 мая 2020 г. 10:46:06(UTC)
ivanko

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

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

Сказал(а) «Спасибо»: 6 раз
Поблагодарили: 3 раз в 2 постах
У нас настройка ПО содержит указание на тип используемого провайдера и не подразумевает изменения JRE.

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