Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 JSSE Troubles  [new]
Scott Tiger
Member

Откуда: вмваре
Сообщений: 6797
Не получается заюзать JSSE:


...
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=... указываю. В чём может быть грабля?
15 дек 03, 18:57    [460389]     Ответить | Цитировать Сообщить модератору
 Re: JSSE Troubles  [new]
andrew81
Member

Откуда: Tallinn, Estonia
Сообщений: 100
Ty ispolzuesh Tomcat?
16 дек 03, 09:59    [460824]     Ответить | Цитировать Сообщить модератору
 Re: JSSE Troubles  [new]
andrew81
Member

Откуда: Tallinn, Estonia
Сообщений: 100
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:

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
16 дек 03, 10:17    [460854]     Ответить | Цитировать Сообщить модератору
 Re: JSSE Troubles  [new]
Scott Tiger
Member

Откуда: вмваре
Сообщений: 6797
Нет, я не использую Tomcat, пишу SSL-модуль для собственного многопоточного сервера :) Впрочем, спасибо за совет, он меня навёл на верную мысль о том, что путь к keystore я указываю неверно.
17 дек 03, 10:30    [462748]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить