2017-04-11 11 views
0

私は2つのクラスのサーバーとクライアントを作成しました。私は取得していますクライアントの両方で実行している間もhttpx websocketとvertexを使ってsslを接続するには?

HttpServer server = 
    vertx.createHttpServer(new HttpServerOptions().setSsl(true).setKeyStoreOptions(
    new JksOptions().setPath("server-keystore.jks").setPassword("wibble") 
)); 

1つの以上、すなわちクライアント

vertx.createHttpClient(new HttpClientOptions().setSsl(true)).getNow(4443, "localhost", "/", resp -> { 
     System.out.println("Got response " + resp.statusCode()); 
     resp.bodyHandler(body -> System.out.println("Got data " + body.toString("ISO-8859-1"))); 
    }); 

次のようにSSLで始まるサーバの「SSL接続の作成に失敗しました」。 sslに関連するものを設定する方法はありますか?

+0

の場合私は.setTrustAll(true)と書く。しかしそれは脅威です。だから私はすべてを信頼することなく接続できます。 – sanghavi7

+0

あなたの証明書を 'TrustOptions'に追加するか、あなたのサーバに有効な証明書を使用してくださいhttp://vertx.io/docs/vertx-core/java/#_client_trust_configuration – tsegismont

答えて

1

あなたはその後、次の構成を使用keystore.jksファイル

を使用することができますVERTXでSSLを有効にするには:私は、これはあなたを助けることを願っています

HttpServerOptions secureOptions = new HttpServerOptions(); 
    if (Configuration.SSL_enabled) { 
     LOG.debug("Secure Transport Protocol [ SSL/TLS ] has been enabled !!! "); 
     secureOptions.setSsl(true) 
       .setKeyStoreOptions(new JksOptions().setPath(Configuration.SSL_filename) 
         .setPassword(Configuration.SSL_password)) 
       .setTrustStoreOptions(new JksOptions().setPath(Configuration.SSL_filename) 
         .setPassword(Configuration.SSL_password)) 
       .addEnabledSecureTransportProtocol(Constants.TLS_VERSION_1) 
       .addEnabledSecureTransportProtocol(Constants.TLS_VERSION_2); 

    } 

    vertx.createHttpServer(secureOptions).requestHandler(router::accept).listen(Configuration.port); 

を:)

+0

ありがとうございました! – sanghavi7

関連する問題