powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / JSSE Troubles
4 сообщений из 4, страница 1 из 1
JSSE Troubles
    #32353171
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не получается заюзать JSSE:

Код: plaintext
1.
2.
3.
4.
5.
...
        SSLServerSocket s;
        SSLServerSocketFactory sslSrvFact = (SSLServerSocketFactory)SSLServerSocketFactory.getDefault();
        s =(SSLServerSocket)sslSrvFact.createServerSocket( 1111 );
...


При попытке запуска вылетает

java.net.SocketException: Default SSL context init failed: null
at javax.net.ssl.DefaultSSLServerSocketFactory.createServerSocket(DashoA6275)

на третьей строке из приведённого примера кода (впрочем, код содран из JSSE Reference Guide). SDK 1.4.2/Windows

Ключики сделал, -Djavax.net.ssl.keyStore=... указываю. В чём может быть грабля?
...
Рейтинг: 0 / 0
JSSE Troubles
    #32353461
andrew81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ty ispolzuesh Tomcat?
...
Рейтинг: 0 / 0
JSSE Troubles
    #32353486
andrew81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Esli ty ispolzuesh Tomcat, to javno, chto Tomcat ispolzuet deprecated JSSE 1.0.2 API (com.sun.net.ssl package) i otvergaet realizaciju, kotoraja novee (javax.net.ssl). Eto stavit ${user.home}/.keystore v kachestve default keystore file. Eto znachit, esli ty hochesh otkryt SSL klient iz Tomcat, delaj v pervuju ochered vse svoi sobstvennye inicializacii (ili vmesto etogo ispolzuj URLStreamHandler). Nizhe primer moego koda:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
import com.sun.net.ssl.*; // ispolzovanie drevnego api
String keystorePass =  "xxxxx" ;
String keystoreFile =  "xxxxx" ;
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(new FileInputStream(keystoreFile), keystorePass.toCharArray());
TrustManagerFactory tmFactory =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmFactory.init(keyStore);
SSLContext ctx = SSLContext.getInstance( "TLS" );
ctx.init(null, tmFactory.getTrustManagers(), null);
HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());


Nadejus eto sohranit nekotoroe vremja tem, kto prilipnet s etoj problemoj.

Andrei
...
Рейтинг: 0 / 0
JSSE Troubles
    #32354825
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, я не использую Tomcat, пишу SSL-модуль для собственного многопоточного сервера :) Впрочем, спасибо за совет, он меня навёл на верную мысль о том, что путь к keystore я указываю неверно.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JSSE Troubles
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]