static HttpClientOptions createHttp2ClientOptions() { return new HttpClientOptions(). setUseAlpn(true). setSsl(true). setTrustStoreOptions(Trust.SERVER_JKS.get()). setProtocolVersion(HttpVersion.HTTP_2); }
@Override public void setUp() throws Exception { eventLoopGroups.clear(); super.setUp(); clientOptions = new HttpClientOptions(). setUseAlpn(true). setSsl(true). setTrustStoreOptions(Trust.SERVER_JKS.get()). setProtocolVersion(HttpVersion.HTTP_2); client = vertx.createHttpClient(clientOptions); }
@Test public void testHttp2() { vertx.createHttpServer(new HttpServerOptions() .setUseAlpn(true) .setSsl(true) .setSslEngineOptions(new OpenSSLEngineOptions()) .setKeyCertOptions(Cert.SERVER_JKS.get()) ) .requestHandler(req -> req.response().end("OK")) .listen(8443, "localhost", onSuccess(s -> { HttpClient client = vertx.createHttpClient(new HttpClientOptions() .setSsl(true) .setSslEngineOptions(new OpenSSLEngineOptions()) .setTrustStoreOptions(Trust.SERVER_JKS.get())); client.getNow(8443, "localhost", "/somepath", onSuccess(resp -> { resp.bodyHandler(buff -> { assertEquals("OK", buff.toString()); testComplete(); }); })); })); await(); } }
@Test public void testNetServerInternalTLS() throws Exception { server.close(); server = vertx.createNetServer(new NetServerOptions() .setPort(1234) .setHost("localhost") .setSsl(true) .setKeyStoreOptions(Cert.SERVER_JKS.get())); testNetServerInternal_(new HttpClientOptions() .setSsl(true) .setTrustStoreOptions(Trust.SERVER_JKS.get()) , true); }
@Override public RestClientOptions setTrustStoreOptions(JksOptions options) { super.setTrustStoreOptions(options); return this; }
@Override public void setUp() throws Exception { eventLoopGroups.clear(); super.setUp(); clientOptions = new HttpClientOptions(). setUseAlpn(true). setSsl(true). setTrustStoreOptions(Trust.SERVER_JKS.get()). setProtocolVersion(HttpVersion.HTTP_2); client = vertx.createHttpClient(clientOptions); }
static HttpClientOptions createHttp2ClientOptions() { return new HttpClientOptions(). setUseAlpn(true). setSsl(true). setTrustStoreOptions(Trust.SERVER_JKS.get()). setProtocolVersion(HttpVersion.HTTP_2); }
@Test public void testHttp2() { vertx.createHttpServer(new HttpServerOptions() .setUseAlpn(true) .setSsl(true) .setSslEngineOptions(new OpenSSLEngineOptions()) .setKeyCertOptions(Cert.SERVER_JKS.get()) ) .requestHandler(req -> req.response().end("OK")) .listen(8443, "localhost", onSuccess(s -> { HttpClient client = vertx.createHttpClient(new HttpClientOptions() .setSsl(true) .setSslEngineOptions(new OpenSSLEngineOptions()) .setTrustStoreOptions(Trust.SERVER_JKS.get())); client.getNow(8443, "localhost", "/somepath", resp -> { resp.bodyHandler(buff -> { assertEquals("OK", buff.toString()); testComplete(); }); }); })); await(); } }
jksOptions.setValue(io.vertx.core.buffer.Buffer.buffer(jksTrustStore.getContent())); httpClientOptions.setTrustStoreOptions(jksOptions); break;
jksOptions.setValue(io.vertx.core.buffer.Buffer.buffer(jksTrustStore.getContent())); this.httpClientOptions.setTrustStoreOptions(jksOptions); break;
@Test public void testNetServerInternalTLS() throws Exception { server.close(); server = vertx.createNetServer(new NetServerOptions() .setPort(1234) .setHost("localhost") .setSsl(true) .setKeyStoreOptions(Cert.SERVER_JKS.get())); testNetServerInternal_(new HttpClientOptions() .setSsl(true) .setTrustStoreOptions(Trust.SERVER_JKS.get()) , true); }
assertEquals(options, options.setTrustStoreOptions(trustStoreOptions)); assertEquals(trustStoreOptions, options.getTrustOptions());
.setTrustStoreOptions(new JksOptions() .setPath(System.getProperty("javax.net.ssl.trustStore")) .setPassword(System.getProperty("javax.net.ssl.trustStorePassword")));
public static HttpClientOptions parseTlsOptions(TLSOptions tlsOptions, URI apiEndpoint) { HttpClientOptions clientOptions = new HttpClientOptions(); if (apiEndpoint.getScheme().equals("http")) { //$NON-NLS-1$ return clientOptions.setSsl(false); } else { clientOptions.setSsl(true); } clientOptions.setTrustAll(tlsOptions.isTrustSelfSigned() || tlsOptions.isDevMode()) .setVerifyHost(!(tlsOptions.isAllowAnyHost() || tlsOptions.isDevMode())); if (tlsOptions.getTrustStore() != null) { clientOptions.setTrustStoreOptions( new JksOptions().setPath(tlsOptions.getTrustStore()).setPassword(tlsOptions.getTrustStorePassword()) ); } if (tlsOptions.getKeyStore() != null) { clientOptions.setKeyStoreOptions( new JksOptions().setPath(tlsOptions.getKeyStore()).setPassword(tlsOptions.getKeyStorePassword()) ); } if (tlsOptions.getAllowedCiphers() != null) { String[] ciphers = arrayDifference(tlsOptions.getAllowedCiphers(), tlsOptions.getDisallowedCiphers(), getDefaultCipherSuites()); for (String cipher : ciphers) { clientOptions.addEnabledCipherSuite(cipher); } } if (tlsOptions.getAllowedProtocols() != null) { log.info("Can't set allowed protocols on Vert.x gateway"); //$NON-NLS-1$ } return clientOptions; }
throw new EndpointException("Missing JKS value for endpoint " + endpoint.getName()); httpClientOptions.setTrustStoreOptions(jksOptions); break;
throw new EndpointException("Missing JKS value for endpoint " + endpoint.getName()); this.httpClientOptions.setTrustStoreOptions(jksOptions); break;
assertEquals(options, options.setTrustStoreOptions(trustStoreOptions)); assertEquals(trustStoreOptions, options.getTrustOptions());