static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, NetClientOptions obj) { for (java.util.Map.Entry<String, Object> member : json) { switch (member.getKey()) { case "hostnameVerificationAlgorithm": if (member.getValue() instanceof String) { obj.setHostnameVerificationAlgorithm((String)member.getValue()); } break; case "reconnectAttempts": if (member.getValue() instanceof Number) { obj.setReconnectAttempts(((Number)member.getValue()).intValue()); } break; case "reconnectInterval": if (member.getValue() instanceof Number) { obj.setReconnectInterval(((Number)member.getValue()).longValue()); } break; } } }
@Test public final void testEquals() { NetClientOptions options1 = new NetClientOptions(); NetClientOptions options2 = new NetClientOptions(new JsonObject("{}")); assertEquals(options1, options2); options1.setHostnameVerificationAlgorithm("HTTPS"); options2.setHostnameVerificationAlgorithm("HTTPS"); assertEquals(options1, options2); options2.setHostnameVerificationAlgorithm(new String("HTTPS")); assertEquals(options1, options2); }
@Test public void testTLSHostnameCertCheckIncorrect() { server.close(); server = vertx.createNetServer(new NetServerOptions().setSsl(true).setPort(4043) .setKeyCertOptions(Cert.SERVER_JKS_ROOT_CA.get())); server.connectHandler(netSocket -> netSocket.close()).listen(ar -> { NetClientOptions options = new NetClientOptions() .setHostnameVerificationAlgorithm("HTTPS") .setTrustOptions(Trust.SERVER_JKS_ROOT_CA.get()); NetClient client = vertx.createNetClient(options); client.connect(4043, "127.0.0.1", arSocket -> { if (arSocket.succeeded()) { NetSocket ns = arSocket.result(); ns.closeHandler(v -> { testComplete(); }); ns.upgradeToSsl(v -> { fail("this test should fail"); }); } else { fail(ar.cause()); } }); }); await(); }
@Test public void testTLSHostnameCertCheckCorrect() { server.close(); server = vertx.createNetServer(new NetServerOptions().setSsl(true).setPort(4043) .setKeyCertOptions(Cert.SERVER_JKS_ROOT_CA.get())); server.connectHandler(netSocket -> netSocket.close()).listen(ar -> { NetClientOptions options = new NetClientOptions() .setHostnameVerificationAlgorithm("HTTPS") .setTrustOptions(Trust.SERVER_JKS_ROOT_CA.get()); NetClient client = vertx.createNetClient(options); client.connect(4043, "localhost", arSocket -> { if (arSocket.succeeded()) { NetSocket ns = arSocket.result(); ns.exceptionHandler(th -> { fail(th); }); ns.upgradeToSsl(v -> { testComplete(); }); } else { fail(ar.cause()); } }); }); await(); }
@Test public void testHostVerificationHttpsNotMatching() { server.close(); NetServerOptions options = new NetServerOptions() .setPort(1234) .setHost("localhost") .setSsl(true) .setKeyStoreOptions(new JksOptions().setPath("tls/mim-server-keystore.jks").setPassword("wibble")); NetServer server = vertx.createNetServer(options); NetClientOptions clientOptions = new NetClientOptions() .setSsl(true) .setTrustAll(true) .setHostnameVerificationAlgorithm("HTTPS"); NetClient client = vertx.createNetClient(clientOptions); server.connectHandler(sock -> { }); server.listen(ar -> { assertTrue(ar.succeeded()); client.connect(1234, "localhost", ar2 -> { //Should not be able to connect assertTrue(ar2.failed()); testComplete(); }); }); await(); }
@Test public void testHostVerificationHttpsMatching() { server.close(); NetServerOptions options = new NetServerOptions() .setPort(1234) .setHost("localhost") .setSsl(true) .setKeyStoreOptions(new JksOptions().setPath("tls/server-keystore.jks").setPassword("wibble")); NetServer server = vertx.createNetServer(options); NetClientOptions clientOptions = new NetClientOptions() .setSsl(true) .setTrustAll(true) .setHostnameVerificationAlgorithm("HTTPS"); NetClient client = vertx.createNetClient(clientOptions); server.connectHandler(sock -> { }); server.listen(ar -> { assertTrue(ar.succeeded()); client.connect(1234, "localhost", ar2 -> { //Should be able to connect assertTrue(ar2.succeeded()); testComplete(); }); }); await(); }
.setHostnameVerificationAlgorithm("HTTPS") .setProxyOptions(new ProxyOptions().setType(ProxyType.SOCKS5).setHost("127.0.0.1").setPort(11080)) .setTrustOptions(Trust.SERVER_JKS_ROOT_CA.get());
static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, NetClientOptions obj) { for (java.util.Map.Entry<String, Object> member : json) { switch (member.getKey()) { case "hostnameVerificationAlgorithm": if (member.getValue() instanceof String) { obj.setHostnameVerificationAlgorithm((String)member.getValue()); } break; case "reconnectAttempts": if (member.getValue() instanceof Number) { obj.setReconnectAttempts(((Number)member.getValue()).intValue()); } break; case "reconnectInterval": if (member.getValue() instanceof Number) { obj.setReconnectInterval(((Number)member.getValue()).longValue()); } break; } } }
.setHostnameVerificationAlgorithm("HTTPS") .setSsl(true) .setProxyOptions(new ProxyOptions().setType(ProxyType.SOCKS5).setHost("127.0.0.1").setPort(11080))
options.setUseAlpn(useAlpn); options.setSslEngineOptions(sslEngine); options.setHostnameVerificationAlgorithm(hostnameVerificationAlgorithm);
@Test public final void testEquals() { NetClientOptions options1 = new NetClientOptions(); NetClientOptions options2 = new NetClientOptions(new JsonObject("{}")); assertEquals(options1, options2); options1.setHostnameVerificationAlgorithm("HTTPS"); options2.setHostnameVerificationAlgorithm("HTTPS"); assertEquals(options1, options2); options2.setHostnameVerificationAlgorithm(new String("HTTPS")); assertEquals(options1, options2); }
assertEquals(options, options.setHostnameVerificationAlgorithm(randomAlphaString)); assertEquals(randomAlphaString, options.getHostnameVerificationAlgorithm());
@Test public void testTLSHostnameCertCheckCorrect() { server.close(); server = vertx.createNetServer(new NetServerOptions().setSsl(true).setPort(4043) .setKeyCertOptions(Cert.SERVER_JKS_ROOT_CA.get())); server.connectHandler(netSocket -> netSocket.close()).listen(ar -> { NetClientOptions options = new NetClientOptions() .setHostnameVerificationAlgorithm("HTTPS") .setTrustOptions(Trust.SERVER_JKS_ROOT_CA.get()); NetClient client = vertx.createNetClient(options); client.connect(4043, "localhost", arSocket -> { if (arSocket.succeeded()) { NetSocket ns = arSocket.result(); ns.exceptionHandler(th -> { fail(th); }); ns.upgradeToSsl(v -> { testComplete(); }); } else { fail(ar.cause()); } }); }); await(); }
@Test public void testTLSHostnameCertCheckIncorrect() { server.close(); server = vertx.createNetServer(new NetServerOptions().setSsl(true).setPort(4043) .setKeyCertOptions(Cert.SERVER_JKS_ROOT_CA.get())); server.connectHandler(netSocket -> netSocket.close()).listen(ar -> { NetClientOptions options = new NetClientOptions() .setHostnameVerificationAlgorithm("HTTPS") .setTrustOptions(Trust.SERVER_JKS_ROOT_CA.get()); NetClient client = vertx.createNetClient(options); client.connect(4043, "127.0.0.1", arSocket -> { if (arSocket.succeeded()) { NetSocket ns = arSocket.result(); ns.closeHandler(v -> { testComplete(); }); ns.upgradeToSsl(v -> { fail("this test should fail"); }); } else { fail(ar.cause()); } }); }); await(); }
@Test public void testHostVerificationHttpsNotMatching() { server.close(); NetServerOptions options = new NetServerOptions() .setPort(1234) .setHost("localhost") .setSsl(true) .setKeyStoreOptions(new JksOptions().setPath("tls/mim-server-keystore.jks").setPassword("wibble")); NetServer server = vertx.createNetServer(options); NetClientOptions clientOptions = new NetClientOptions() .setSsl(true) .setTrustAll(true) .setHostnameVerificationAlgorithm("HTTPS"); NetClient client = vertx.createNetClient(clientOptions); server.connectHandler(sock -> { }); server.listen(ar -> { assertTrue(ar.succeeded()); client.connect(1234, "localhost", ar2 -> { //Should not be able to connect assertTrue(ar2.failed()); testComplete(); }); }); await(); }
@Test public void testHostVerificationHttpsMatching() { server.close(); NetServerOptions options = new NetServerOptions() .setPort(1234) .setHost("localhost") .setSsl(true) .setKeyStoreOptions(new JksOptions().setPath("tls/server-keystore.jks").setPassword("wibble")); NetServer server = vertx.createNetServer(options); NetClientOptions clientOptions = new NetClientOptions() .setSsl(true) .setTrustAll(true) .setHostnameVerificationAlgorithm("HTTPS"); NetClient client = vertx.createNetClient(clientOptions); server.connectHandler(sock -> { }); server.listen(ar -> { assertTrue(ar.succeeded()); client.connect(1234, "localhost", ar2 -> { //Should be able to connect assertTrue(ar2.succeeded()); testComplete(); }); }); await(); }
.setHostnameVerificationAlgorithm("HTTPS") .setProxyOptions(new ProxyOptions().setType(ProxyType.SOCKS5).setHost("127.0.0.1").setPort(11080)) .setTrustOptions(Trust.SERVER_JKS_ROOT_CA.get());
.setHostnameVerificationAlgorithm("HTTPS") .setSsl(true) .setProxyOptions(new ProxyOptions().setType(ProxyType.SOCKS5).setHost("127.0.0.1").setPort(11080))
options.setUseAlpn(useAlpn); options.setSslEngineOptions(sslEngine); options.setHostnameVerificationAlgorithm(hostnameVerificationAlgorithm);
assertEquals(options, options.setHostnameVerificationAlgorithm(randomAlphaString)); assertEquals(randomAlphaString, options.getHostnameVerificationAlgorithm());