У меня есть сервер websocket (API of jetty 9.0.1.v20130408), который отлично работал без ssl. Теперь я настроил свой сервер следующим образом:Jetty - клиент SSL Websocket
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStorePath("/src/main/resources/keystore.jks");
sslContextFactory.setKeyStorePassword(password);
sslContextFactory.setTrustStorePath("/src/main/resources/truststore.jks");
sslContextFactory.setTrustStorePassword(password);
ConnectionFactory sslConnFactory = new SslConnectionFactory(sslContextFactory, "http/1.1);
connector.addConnectionFactory(sslConnFactory);
server.addConnector(connector);
Нет Я попытался настроить клиента. Я думал, что на стороне клиента мне нужно установить путь к truststore.jks и пароль. Но затем я получаю на client.start() Исключение: SSL не имеет действительного хранилища ключей. Когда я устанавливаю хранилище ключей, я получаю на client.connect java.nio.channels.WritePendingException. Вот код для моего клиента:
WebSocketClient client = new WebSocketClient(sslContextFactory);
URI wssUri = new URI("wss://localhost:"+port);
sslContextFactory.start();
client.start();
client.connect(myClientSocket, wssUri);
Может кто-нибудь мне помочь? Я также попытался на стороне сервера установить setWantClientAuth (false) и setTrustall (true), но он также не работал таким образом;
ДОБАВЛЕНО:
я произвожу мои Ssl файлы с Keytool.
$ keytool -genkeypair -alias certificatekey -keyalg RSA -validity 365 -keystore keystore.jks
$ keytool -export -alias certificatekey -keystore keystore.jks -rfc -file selfsignedcert.cer
$ keytool -import -alias certificatekey -file selfsignedcert.cer -keystore truststore.jks
Вы пытаетесь использовать клиентские сертификаты? или просто стандартный SSL? –
SSL - это новое для меня. Поэтому я сгенерировал такие файлы, как keystore.jks, truststore.jks и certifcate.cert с помощью keytool. Для создания файлов я следил за учебником: http://www.techbrainwave.com/?p=953. Пока я использую те же файлы для клиента и сервера. – Salvadora
Я добавил команды keytool, которые я использовал для генерации файлов в свой первый пост. – Salvadora