Статус: Новичок
Группы: Участники
Дата регистрации:: 24.08.2011(UTC) Сообщений: 7 Откуда: Kzn
Сказал(а) «Спасибо»: 1 раз
|
Доброго дня! Возвращаясь к вопросу, заданному в этой теме, хотелось бы узнать, добавлена ли в последних версиях поддержка SSLEngine? Заранее спасибо за ответ!
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,984 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 710 раз в 671 постах
|
Здравствуйте. Скачайте с сайта архив jcp_jtls 1.0.53, поддержка SSLEngine добавлялась. Попробуйте с этой версией. |
|
|
|
|
Статус: Новичок
Группы: Участники
Дата регистрации:: 24.08.2011(UTC) Сообщений: 7 Откуда: Kzn
Сказал(а) «Спасибо»: 1 раз
|
Спасибо за обнадеживающий ответ! Именно на ней я и пробую.
Тогда другой вопрос. SSLContext инициализируется следующим образом:
sslContext = SSLContext.getInstance("GostTLS"); KeyStore keyStore = KeyStore.getInstance("HDImageStore"); InputStream keyStoreStream = new FileInputStream("[path_to_store]"); keyStore.load(keyStoreStream, "password".toCharArray()); KeyManagerFactory kmf = KeyManagerFactory.getInstance("GostX509"); kmf.init(keyStore, "password".toCharArray());
KeyStore trustedKeyStore = KeyStore.getInstance("HDImageStore"); trustedKeyStore.load(new FileInputStream("[path_to_trusted_store]"), "password".toCharArray()); TrustManagerFactory tmf = TrustManagerFactory.getInstance("GostX509"); tmf.init(trustedKeyStore);
sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
При попытке создать экземпляр SSLEngine (sslContext.createSSLEngine()) кидается исключение java.lang.UnsupportedOperationException: Provider: JTLS version 1.0 doesn't support this operation.
При этом, если попробовать вызвать создающий SSLEngine метод непосредственно у провайдера (поле spiContext в sslContext, это будет экземпляр ru.CryptoPro.ssl.SSLContextImpl), то он кинет NullPointerException.
А вопрос в том, может я просто что-то упустил? В документации на эту тему ничего не нашел.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,984 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 710 раз в 671 постах
|
Видимо, в той версии (1.0.53) все-таки нет поддержки. Значит, она будет в следующей версии. |
|
1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Дата регистрации:: 24.08.2011(UTC) Сообщений: 7 Откуда: Kzn
Сказал(а) «Спасибо»: 1 раз
|
Спасибо за ответ. Будем ждать.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.03.2011(UTC) Сообщений: 153 Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 7 раз в 5 постах
|
Не совсем понятно, почему у вас не заработало. Попробуйте указать название провайдера. Мой код работает.
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(trustAlg); trustManagerFactory.init(trustStore);
SSLContext sslContext = SSLContext.getInstance("GostTLS", "JTLS"); sslContext.init(null, trustManagerFactory.getTrustManagers(), null);
SSLSocketFactory socketFactory = sslContext.getSocketFactory();
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close