Как подключиться к SSL в JAVA с помощью websocket и socket.io? - PullRequest
1 голос
/ 09 февраля 2012

Как получить доступ к протоколу wss: // в java?

я использую benkay / java-socket.io.client но он не поддерживает протокол wss.

Я пытался использовать SSLEngine. но это очень тяжелая работа.

как можно подключиться к SSL в Java?

Я попытался изменить SocketChannel с помощью SSLEngine. но это не сработало.

Канал ssl в порядке. но я не могу подключить эту оригинальную часть веб-розетки.

это исходный код.

  client = SocketChannel.open(remote);
  client.configureBlocking(false);
  //client.connect(remote);

  selector = Selector.open();
  this.conn = new WebSocket(client, new LinkedBlockingQueue<ByteBuffer>(), this);
  client.register(selector, SelectionKey.OP_READ);

    try {
   sslClient = new SSLClient(keyStore, storepass.toCharArray(), client);
   sslClient.beginHandShake();
        startClient()


} catch (Exception e) {
   e.printStackTrace();
}

эта точка не соответствует действительности ?? я не знаю .. не то же самое оригинальный код веб-сокета .. может проблема в этом. как это можно исправить ??

public void startClient()
{
    try
    {
        while(true)
        {
            if(selector.select() <= 0)
            {
                continue;
            }

            Iterator<SelectionKey> it = selector.selectedKeys().iterator();

            while(it.hasNext())
            {
                SelectionKey key = (SelectionKey)it.next();
                Log.e("key","key");
                if(key.isReadable())
                {
                    read(key);
                }
                it.remove();
            }               
        }
    }
    catch(Exception e)
    {

    }
}

и SSLClient http://rapidant.tistory.com/attachment/cfile25.uf@121346414D45B0960BD01B.zip

хранилище ключей: измените JKS на BKS, не проблема.

как обернуть SocketChannel?

(веб-браузер работал).

1 Ответ

2 голосов
/ 06 ноября 2012

Вы можете проверить мою форк библиотеки Autobahn WebSocket.

Безопасные веб-сокеты на основе автобана

Вы не хотите использовать SSLEngine на Android, потому что он сломан.

...