@@ -978,7 +978,7 @@ class TLSTest {
978978 TrustOptions serverTrust ;
979979 boolean serverUsesCrl ;
980980 boolean serverOpenSSL ;
981- boolean serverUsesAlpn ;
981+ Boolean serverUsesAlpn ;
982982 boolean serverSSL = true ;
983983 boolean serverUsesProxyProtocol = false ;
984984 ProxyType proxyType ;
@@ -1175,8 +1175,7 @@ TLSTest run(boolean shouldPass) {
11751175 // The test with proxy that fails will not connect
11761176 waitFor (2 );
11771177 }
1178- server .close ();
1179- HttpClientOptions options = new HttpClientOptions ();
1178+ HttpClientOptions options = createBaseClientOptions ();
11801179 options .setProtocolVersion (version );
11811180 options .setSsl (clientSSL );
11821181 options .setForceSni (clientForceSNI );
@@ -1218,8 +1217,8 @@ TLSTest run(boolean shouldPass) {
12181217 }
12191218 options .setProxyOptions (proxyOptions );
12201219 }
1221- client = createHttpClient (options );
1222- HttpServerOptions serverOptions = new HttpServerOptions ();
1220+ client = vertx . createHttpClient (options );
1221+ HttpServerOptions serverOptions = createBaseServerOptions ();
12231222 serverOptions .setTrustOptions (serverTrust );
12241223 serverOptions .setKeyCertOptions (serverCert );
12251224 if (requiresClientAuth ) {
@@ -1231,7 +1230,9 @@ TLSTest run(boolean shouldPass) {
12311230 if (serverOpenSSL ) {
12321231 serverOptions .setOpenSslEngineOptions (new OpenSSLEngineOptions ());
12331232 }
1234- serverOptions .setUseAlpn (serverUsesAlpn );
1233+ if (serverUsesAlpn == Boolean .TRUE ) {
1234+ serverOptions .setUseAlpn (serverUsesAlpn );
1235+ }
12351236 serverOptions .setSsl (serverSSL );
12361237 serverOptions .setSni (serverSNI );
12371238 serverOptions .setUseProxyProtocol (serverUsesProxyProtocol );
@@ -1244,7 +1245,8 @@ TLSTest run(boolean shouldPass) {
12441245 for (String protocol : serverEnabledSecureTransportProtocol ) {
12451246 serverOptions .addEnabledSecureTransportProtocol (protocol );
12461247 }
1247- server = createHttpServer (serverOptions .setPort (4043 ));
1248+ server .close ();
1249+ server = vertx .createHttpServer (serverOptions .setPort (4043 ));
12481250 server .connectionHandler (conn -> complete ());
12491251 AtomicInteger count = new AtomicInteger ();
12501252 server .exceptionHandler (err -> {
@@ -1318,10 +1320,6 @@ TLSTest run(boolean shouldPass) {
13181320 }
13191321 }
13201322
1321- abstract HttpServer createHttpServer (HttpServerOptions options );
1322-
1323- abstract HttpClient createHttpClient (HttpClientOptions options );
1324-
13251323 protected TLSTest testTLS (Cert <?> clientCert , Trust <?> clientTrust ,
13261324 Cert <?> serverCert , Trust <?> serverTrust ) throws Exception {
13271325 return new TLSTest (clientCert , clientTrust , serverCert , serverTrust );
@@ -1502,7 +1500,7 @@ private void testStore(HttpServerOptions serverOptions, List<String> expectedPos
15021500
15031501 @ Test
15041502 public void testCrlInvalidPath () {
1505- HttpClientOptions clientOptions = new HttpClientOptions ();
1503+ HttpClientOptions clientOptions = createBaseClientOptions ();
15061504 clientOptions .setTrustOptions (Trust .SERVER_PEM_ROOT_CA .get ());
15071505 clientOptions .setSsl (true );
15081506 clientOptions .addCrlPath ("/invalid.pem" );
@@ -1648,7 +1646,7 @@ public void testUpdateSSLOptionsWithScaledServer() throws Exception {
16481646 }
16491647
16501648 private void testUpdateSSLOptions (boolean scaled ) throws Exception {
1651- server = createHttpServer (createBaseServerOptions ().setSsl (true ).setKeyCertOptions (Cert .SERVER_JKS .get ()))
1649+ server = vertx . createHttpServer (createBaseServerOptions ().setSsl (true ).setKeyCertOptions (Cert .SERVER_JKS .get ()))
16521650 .requestHandler (req -> {
16531651 req .response ().end ("Hello World" );
16541652 });
@@ -1659,7 +1657,7 @@ private void testUpdateSSLOptions(boolean scaled) throws Exception {
16591657 private HttpServer server ;
16601658 @ Override
16611659 public void start (Promise <Void > startPromise ) {
1662- server = createHttpServer (createBaseServerOptions (). setSsl ( true ).setKeyCertOptions (Cert .SERVER_JKS .get ()))
1660+ server = vertx . createHttpServer (createBaseServerOptions ().setKeyCertOptions (Cert .SERVER_JKS .get ()))
16631661 .requestHandler (req -> {
16641662 req .response ().end ("Hello World" );
16651663 });
@@ -1671,14 +1669,15 @@ public void start(Promise<Void> startPromise) {
16711669 }).onComplete (onSuccess (v -> latch .countDown ()));
16721670 awaitLatch (latch );
16731671 }
1674- Supplier <Future <Buffer >> request = () -> client .request (requestOptions ).compose (req -> req .send ().compose (HttpClientResponse ::body ));
1675- client = createHttpClient (new HttpClientOptions ().setKeepAlive (false ).setSsl (true ).setTrustOptions (Trust .SERVER_JKS .get ()));
1676- request .get ().onComplete (onSuccess (body1 -> {
1672+ Function <HttpClient , Future <Buffer >> request = client -> client .request (requestOptions ).compose (req -> req .send ().compose (HttpClientResponse ::body ));
1673+ HttpClient client1 = vertx .createHttpClient (createBaseClientOptions ().setVerifyHost (false ).setTrustOptions (Trust .SERVER_JKS .get ()));
1674+ HttpClient client2 = vertx .createHttpClient (createBaseClientOptions ().setVerifyHost (false ).setTrustOptions (Trust .SERVER_JKS .get ()));
1675+ request .apply (client1 ).onComplete (onSuccess (body1 -> {
16771676 assertEquals ("Hello World" , body1 .toString ());
1678- server .updateSSLOptions (new SSLOptions ().setKeyCertOptions (Cert .SERVER_JKS_ROOT_CA .get ()), onSuccess (v -> {
1679- request .get ( ).onComplete (onFailure (err -> {
1680- client .updateSSLOptions (new SSLOptions ().setTrustOptions (Trust .SERVER_JKS_ROOT_CA .get ()), onSuccess (v2 -> {
1681- request .get ( ).onComplete (onSuccess (body2 -> {
1677+ server .updateSSLOptions (createBaseServerOptions ().setKeyCertOptions (Cert .SERVER_JKS_ROOT_CA .get ()). getSslOptions ()). onComplete ( onSuccess (v -> {
1678+ request .apply ( client2 ).onComplete (onFailure (err -> {
1679+ client2 .updateSSLOptions (createBaseClientOptions ().setTrustOptions (Trust .SERVER_JKS_ROOT_CA .get ()). getSslOptions ()). onComplete ( onSuccess (v2 -> {
1680+ request .apply ( client2 ).onComplete (onSuccess (body2 -> {
16821681 assertEquals ("Hello World" , body2 .toString ());
16831682 testComplete ();
16841683 }));
@@ -1691,13 +1690,15 @@ public void start(Promise<Void> startPromise) {
16911690
16921691 @ Test
16931692 public void testUpdateWithInvalidSSLOptions () throws Exception {
1694- server = createHttpServer (createBaseServerOptions (). setSsl ( true ).setKeyCertOptions (Cert .SERVER_JKS .get ()))
1693+ server = vertx . createHttpServer (createBaseServerOptions ().setKeyCertOptions (Cert .SERVER_JKS .get ()))
16951694 .requestHandler (req -> {
16961695 req .response ().end ("Hello World" );
16971696 });
16981697 startServer (testAddress );
1699- client = createHttpClient (new HttpClientOptions ().setKeepAlive (false ).setSsl (true ).setTrustOptions (Trust .SERVER_JKS .get ()));
1700- Future <Void > last = server .updateSSLOptions (new SSLOptions ().setKeyCertOptions (new JksOptions ().setValue (TestUtils .randomBuffer (20 )).setPassword ("invalid" )));
1698+ client = vertx .createHttpClient (createBaseClientOptions ().setVerifyHost (false ).setTrustOptions (Trust .SERVER_JKS .get ()));
1699+ Future <Void > last = server .updateSSLOptions (createBaseServerOptions ()
1700+ .setKeyCertOptions (new JksOptions ().setValue (TestUtils .randomBuffer (20 )).setPassword ("invalid" ))
1701+ .getSslOptions ());
17011702 last .onComplete (onFailure (err -> {
17021703 client
17031704 .request (requestOptions )
@@ -1712,12 +1713,12 @@ public void testUpdateWithInvalidSSLOptions() throws Exception {
17121713
17131714 @ Test
17141715 public void testConcurrentUpdateSSLOptions () throws Exception {
1715- server = createHttpServer (createBaseServerOptions (). setSsl ( true ).setKeyCertOptions (Cert .SERVER_JKS .get ()))
1716+ server = vertx . createHttpServer (createBaseServerOptions ().setKeyCertOptions (Cert .SERVER_JKS .get ()))
17161717 .requestHandler (req -> {
17171718 req .response ().end ("Hello World" );
17181719 });
17191720 startServer (testAddress );
1720- client = createHttpClient (new HttpClientOptions ().setKeepAlive (false ).setSsl ( true ).setTrustOptions (Trust .SERVER_JKS_ROOT_CA .get ()));
1721+ client = vertx . createHttpClient (createBaseClientOptions ().setKeepAlive (false ).setVerifyHost ( false ).setTrustOptions (Trust .SERVER_JKS_ROOT_CA .get ()));
17211722 List <KeyCertOptions > list = Arrays .asList (
17221723 Cert .SERVER_PKCS12 .get (),
17231724 Cert .SERVER_PEM .get (),
@@ -1727,7 +1728,7 @@ public void testConcurrentUpdateSSLOptions() throws Exception {
17271728 Future <Void > last = null ;
17281729 for (int i = 0 ;i < list .size ();i ++) {
17291730 int val = i ;
1730- last = server .updateSSLOptions (new SSLOptions ().setKeyCertOptions (list .get (i )));
1731+ last = server .updateSSLOptions (createBaseServerOptions ().setKeyCertOptions (list .get (i )). getSslOptions ( ));
17311732 last .onComplete (onSuccess (v -> {
17321733 assertEquals (val , seq .getAndIncrement ());
17331734 }));
@@ -1746,28 +1747,33 @@ public void testConcurrentUpdateSSLOptions() throws Exception {
17461747
17471748 @ Test
17481749 public void testServerSharingUpdateSSLOptions () throws Exception {
1749- int numServers = 4 ;
1750- HttpServer [] servers = new HttpServer [numServers ];
1751- for (int i = 0 ;i < numServers ;i ++) {
1750+ int num = 4 ;
1751+ HttpServer [] servers = new HttpServer [num ];
1752+ for (int i = 0 ;i < num ;i ++) {
17521753 String msg = "Hello World " + i ;
1753- servers [i ] = createHttpServer (createBaseServerOptions (). setSsl ( true ).setKeyCertOptions (Cert .SERVER_JKS .get ()))
1754+ servers [i ] = vertx . createHttpServer (createBaseServerOptions ().setKeyCertOptions (Cert .SERVER_JKS .get ()))
17541755 .requestHandler (req -> {
17551756 req .response ().end (msg );
17561757 });
17571758 servers [i ].listen (testAddress ).toCompletionStage ().toCompletableFuture ().get ();
17581759 }
1759- client = createHttpClient (new HttpClientOptions ().setKeepAlive (false ).setSsl (true ).setTrustOptions (Trust .SERVER_JKS .get ()));
1760- for (int i = 0 ;i < numServers ;i ++) {
1761- Buffer body = client .request (requestOptions ).compose (req -> req .send ().compose (HttpClientResponse ::body )).toCompletionStage ().toCompletableFuture ().get ();
1760+ HttpClient [] clients = new HttpClient [num ];
1761+ for (int i = 0 ;i < num ;i ++) {
1762+ clients [i ] = vertx .createHttpClient (createBaseClientOptions ().setVerifyHost (false ).setTrustOptions (Trust .SERVER_JKS .get ()));
1763+ }
1764+ for (int i = 0 ;i < num ;i ++) {
1765+ Buffer body = clients [i ].request (requestOptions ).compose (req -> req .send ().compose (HttpClientResponse ::body )).toCompletionStage ().toCompletableFuture ().get ();
17621766 assertEquals ("Hello World " + i , body .toString ());
17631767 }
1764- client .close ();
1765- for (int i = 0 ;i < numServers ;i ++) {
1766- servers [i ].updateSSLOptions (new SSLOptions ().setKeyCertOptions (Cert .SERVER_PKCS12 .get ())).toCompletionStage ().toCompletableFuture ().get ();
1768+ for (int i = 0 ;i < num ;i ++) {
1769+ servers [i ].updateSSLOptions (createBaseServerOptions ().setKeyCertOptions (Cert .SERVER_PKCS12 .get ()).getSslOptions ()).toCompletionStage ().toCompletableFuture ().get ();
1770+ }
1771+ for (int i = 0 ;i < num ;i ++) {
1772+ clients [i ].close ();
1773+ clients [i ] = vertx .createHttpClient (createBaseClientOptions ().setVerifyHost (false ).setTrustOptions (Trust .SERVER_JKS .get ()));
17671774 }
1768- client = createHttpClient (new HttpClientOptions ().setKeepAlive (false ).setSsl (true ).setTrustOptions (Trust .SERVER_PKCS12 .get ()));
1769- for (int i = 0 ;i < numServers ;i ++) {
1770- Buffer body = client .request (requestOptions ).compose (req -> req .send ().compose (HttpClientResponse ::body )).toCompletionStage ().toCompletableFuture ().get ();
1775+ for (int i = 0 ;i < num ;i ++) {
1776+ Buffer body = clients [i ].request (requestOptions ).compose (req -> req .send ().compose (HttpClientResponse ::body )).toCompletionStage ().toCompletableFuture ().get ();
17711777 assertEquals ("Hello World " + i , body .toString ());
17721778 }
17731779 }
@@ -1977,9 +1983,8 @@ public PrivateKey getPrivateKey(String alias) {
19771983 }
19781984 };
19791985
1980- server = createHttpServer (createBaseServerOptions ()
1986+ server = vertx . createHttpServer (createBaseServerOptions ()
19811987 .setJdkSslEngineOptions (new JdkSSLEngineOptions ().setUseWorkerThread (useWorkerThreads ))
1982- .setSsl (true )
19831988 .setSni (useSni )
19841989 .setKeyCertOptions (testOptions )
19851990 )
@@ -1998,7 +2003,11 @@ public PrivateKey getPrivateKey(String alias) {
19982003 );
19992004 };
20002005 CountDownLatch latch = new CountDownLatch (1 );
2001- client = createHttpClient (new HttpClientOptions ().setKeepAlive (false ).setSsl (true ).setTrustAll (true ));
2006+ client = vertx .createHttpClient (createBaseClientOptions ()
2007+ .setKeepAlive (false )
2008+ .setVerifyHost (false )
2009+ .setTrustAll (true )
2010+ );
20022011 request .get ().onComplete (onSuccess (body1 -> {
20032012 assertEquals ("Hello World" , body1 .toString ());
20042013 latch .countDown ();
0 commit comments