2016-06-17 16 views
0

Ich habe - geschlossen Anschluss -1, Entwurf [email protected] Handshake, falsch verweigert - dann den Code geändert wie folgt:WSS Web-Socket-Erstellung Ausgabe

Sockel Schaffung Coode

webClient = new APICWebClient(new URI(getWebSocketUrl(currentApic.IPAddress, port)), new Draft_17()); 
       webClient.connect(); 

Constructor: 
    public APICWebClient(URI serverURI, Draft draft) { 
     super(serverURI, draft); 

     SSLContext sslContext = null; 
     try { 
      sslContext = SSLContext.getDefault(); 
     } catch (NoSuchAlgorithmException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     setWebSocketFactory(new DefaultSSLWebSocketClientFactory(sslContext)); 
     logger.info("Socket object created"); 
    } 

Entwurf_17. Ich bekomme: geschlossen Verbindung -1,, wahr. Jede Hilfe hier. Dies geschieht während der Socket-Erstellung.

+0

Wie sage ich, dass Sie nicht nach irgendeinem Zertifikat suchen? – Prakash

Antwort

0

Sie müssen sslcontext wie unten erstellen. es überspringt das Zertifikat. Ich war erfolgreich in der Lage, eine Verbindung ohne Zertifikat

SSLContext sslContext = SSLContext.getInstance("SSL"); 

// set up a TrustManager that trusts everything 
sslContext.init(null, new TrustManager[] { new X509TrustManager() { 
      public X509Certificate[] getAcceptedIssuers() { 
        System.out.println("getAcceptedIssuers ============="); 
        return null; 
      } 

      public void checkClientTrusted(X509Certificate[] certs, 
          String authType) { 
        System.out.println("checkClientTrusted ============="); 
      } 

      public void checkServerTrusted(X509Certificate[] certs, 
          String authType) { 
        System.out.println("checkServerTrusted ============="); 
      } 
} }, new SecureRandom());