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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline EugeneNSK  
#1 Оставлено : 25 ноября 2020 г. 14:27:17(UTC)
EugeneNSK

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

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

Сказал(а) «Спасибо»: 3 раз
Добрый день!

Нужна подсказка в инициализации GOST серверной части.

Серверная часть реализована на ServerSocket.

Фрагмент кода:
****************
Security.addProvider(new JCP());
Security.addProvider(new Provider());
Security.addProvider(new CryptoProvider());

System.setProperty("javax.net.ssl.keyStore", keyStore);
System.setProperty("javax.net.ssl.keyStoreType", storeType);
System.setProperty("javax.net.ssl.keyStorePassword", pass);

if (trustStoreParam != null) {
System.setProperty("javax.net.ssl.trustStore", trustStoreParam);
System.setProperty("javax.net.ssl.trustStorePassword", storePass);
System.setProperty("javax.net.ssl.trustStoreType", storeType);
}

ServerSocket socket = SSLServerSocketFactory.getDefault().createServerSocket(port);
\\.... работа с сокетом

Работаем на Java11.
Используя JCP сборку 40450-А все отлично работает.

Фрагмент лога:
****************
Nov 24, 2020 3:02:57 PM ru.CryptoPro.ssl.Provider b
INFO: JCP license isServer: true
Nov 24, 2020 3:02:57 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: keyStore is :
Nov 24, 2020 3:02:57 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: keyStore type is : HDImageStore
Nov 24, 2020 3:02:57 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: keyStore provider is :
Nov 24, 2020 3:02:57 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: init keystore
Nov 24, 2020 3:03:00 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40450-A
Nov 24, 2020 3:03:00 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Nov 24, 2020 3:03:00 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext l
INFO: init keymanager of type GostX509
Nov 24, 2020 3:03:00 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:00 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:01 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:01 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:01 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:01 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:01 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:01 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:01 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:01 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:01 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:02 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:02 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:02 PM ru.CryptoPro.ssl.cl_38 <init>
INFO: %% adding as private keys %%
Nov 24, 2020 3:03:02 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: trustStore is : conf/cacerts.gost
Nov 24, 2020 3:03:02 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: trustStore type is : HDImageStore
Nov 24, 2020 3:03:02 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: trustStore provider is :
Nov 24, 2020 3:03:02 PM ru.CryptoPro.ssl.TrustManagerFactoryImpl a
INFO: init truststore
Nov 24, 2020 3:03:03 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: SSLContextImpl init.
Nov 24, 2020 3:03:03 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: trigger seeding of SecureRandom
Nov 24, 2020 3:03:03 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: done seeding SecureRandom
Nov 24, 2020 3:03:03 PM ru.CryptoPro.ssl.SSLContextImpl engineInit
INFO: SSLContextImpl initialized.
Nov 24, 2020 3:03:03 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext <init>
INFO: DefaultSSLContext initialized.
****************

При переходе на сборку JCP старшей версии (включая 41917-A).
Получаю сообщение, что ключи из хранилища игнорируются, и, соответственно, потом получаю ошибки при хэдшейке.
Фрагмент лога:
****************
Nov 24, 2020 3:05:58 PM ru.CryptoPro.ssl.Provider b
INFO: JCP license isServer: true
Nov 24, 2020 3:05:58 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext m
INFO: keyStore is :
Nov 24, 2020 3:05:58 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext m
INFO: keyStore type is : HDImageStore
Nov 24, 2020 3:05:58 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext m
INFO: keyStore provider is :
Nov 24, 2020 3:05:58 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext m
INFO: init keystore
Nov 24, 2020 3:05:58 PM ru.CryptoPro.JCP.tools.Starter <init>
INFO: Loading JCP 2.0.41917-A
Nov 24, 2020 3:05:59 PM ru.CryptoPro.JCP.tools.Starter <init>
INFO: JCP has been loaded.
Nov 24, 2020 3:06:01 PM ru.CryptoPro.ssl.SSLContextImpl$DefaultSSLContext m
INFO: init keymanager of type GostX509
Nov 24, 2020 3:06:01 PM ru.CryptoPro.ssl.cl_41 <init>
INFO: %% default SSL context is being initiated, key loading has been refused %%
Nov 24, 2020 3:06:01 PM ru.CryptoPro.ssl.cl_41 <init>
WARNING: %% No appropriate keys for handshake
PATH: /var/opt/cprocsp/keys/user/

Отредактировано пользователем 26 ноября 2020 г. 8:36:32(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 25 ноября 2020 г. 14:39:31(UTC)
Евгений Афанасьев

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

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

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

1. Вообще, лучше явно сформировать SSLContext из KeyManagerFactory и TrustManagerFactory (см. примеры или рук-во разработчика JTLS), а из SSLContext - *SocketFactory.
2. Попробуйте задать свойство System.setProperty("disable_default_context", "false") или так: -Ddisable_default_context=false

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

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
EugeneNSK оставлено 26.11.2020(UTC)
Offline EugeneNSK  
#3 Оставлено : 26 ноября 2020 г. 6:22:18(UTC)
EugeneNSK

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

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

Сказал(а) «Спасибо»: 3 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
Приведите ошибки.

1. Вообще, лучше явно сформировать SSLContext из KeyManagerFactory и TrustManagerFactory (см. примеры или рук-во разработчика JTLS), а из SSLContext - *SocketFactory.
2. Попробуйте задать свойство System.setProperty("disable_default_context", "false") или так: -Ddisable_default_context=false


Добрый день!

Ошибки были вида:
Nov 24, 2020 3:06:09 PM ru.CryptoPro.ssl.cl_41 a
WARNING: %% No alias is match
Nov 24, 2020 3:06:09 PM ru.CryptoPro.ssl.SSLSocketImpl a
WARNING: W-1:172.29.3.112, handling exception: javax.net.ssl.SSLHandshakeException: no cipher suites in common

Ручную сборку SocketFactory из SSLContext еще не проверял,
а использование: System.setProperty("disable_default_context", "false") проблему решило.

Спасибо!

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