@Override public OpenSSLEngineOptions clone() { return new OpenSSLEngineOptions(this); } }
@Test public void testOpenSSLEngine() throws Exception { doTest(new OpenSSLEngineOptions(), false, HttpVersion.HTTP_1_1, "OpenSSL is not available", "openssl", true); }
case "openSslEngineOptions": if (member.getValue() instanceof JsonObject) { obj.setOpenSslEngineOptions(new io.vertx.core.net.OpenSSLEngineOptions((JsonObject)member.getValue()));
@Test public void testOpenSSLEngineWithAlpn() throws Exception { doTest(new OpenSSLEngineOptions(), true, HttpVersion.HTTP_2, OPEN_SSL ? "OpenSSL is not available" : null, "openssl", true); }
@Test public void testCopyOpenSslOptions() { OpenSSLEngineOptions options = new OpenSSLEngineOptions(); boolean sessionCacheEnabled = TestUtils.randomBoolean(); options.setSessionCacheEnabled(sessionCacheEnabled); OpenSSLEngineOptions copy = new OpenSSLEngineOptions(options); assertEquals(sessionCacheEnabled, copy.isSessionCacheEnabled()); }
@Test public void testDefaultOpenSslOptionsJson() { OpenSSLEngineOptions def = new OpenSSLEngineOptions(); OpenSSLEngineOptions json = new OpenSSLEngineOptions(def.toJson()); assertEquals(def.isSessionCacheEnabled(), json.isSessionCacheEnabled()); }
case "openSslEngineOptions": if (member.getValue() instanceof JsonObject) { obj.setOpenSslEngineOptions(new io.vertx.core.net.OpenSSLEngineOptions((JsonObject)member.getValue()));
@Test public void testOpenSslOptionsJson() { boolean sessionCacheEnabled = TestUtils.randomBoolean(); JsonObject json = new JsonObject(); json.put("sessionCacheEnabled", sessionCacheEnabled); OpenSSLEngineOptions optins = new OpenSSLEngineOptions(json); assertEquals(sessionCacheEnabled, optins.isSessionCacheEnabled()); } }
@Test public void testUseOpenSSLCiphersWhenNotSpecified() throws Exception { Set<String> expected = OpenSsl.availableOpenSslCipherSuites(); SSLHelper helper = new SSLHelper( new HttpClientOptions().setOpenSslEngineOptions(new OpenSSLEngineOptions()), Cert.CLIENT_PEM.get(), Trust.SERVER_PEM.get()); SslContext ctx = helper.getContext((VertxInternal) vertx); assertEquals(expected, new HashSet<>(ctx.cipherSuites())); }
@Override public OpenSSLEngineOptions clone() { return new OpenSSLEngineOptions(this); } }
@Test public void testOpenSslOptions() { OpenSSLEngineOptions options = new OpenSSLEngineOptions(); assertEquals(true, options.isSessionCacheEnabled()); assertEquals(options, options.setSessionCacheEnabled(false)); assertEquals(false, options.isSessionCacheEnabled()); }
private void testOpenSslServerSessionContext(boolean testDefault){ HttpServerOptions httpServerOptions = new HttpServerOptions().setOpenSslEngineOptions(new OpenSSLEngineOptions()); if(!testDefault) { httpServerOptions.setOpenSslEngineOptions(new OpenSSLEngineOptions().setSessionCacheEnabled(false)); } SSLHelper defaultHelper = new SSLHelper(httpServerOptions, Cert.SERVER_PEM.get(), Trust.SERVER_PEM.get()); SslContext ctx = defaultHelper.getContext((VertxInternal) vertx); assertTrue(ctx instanceof OpenSslServerContext); SSLSessionContext sslSessionContext = ctx.sessionContext(); assertTrue(sslSessionContext instanceof OpenSslServerSessionContext); if (sslSessionContext instanceof OpenSslServerSessionContext) { assertEquals(testDefault, ((OpenSslServerSessionContext) sslSessionContext).isSessionCacheEnabled()); } }
@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(); } }
.setSsl(true) .addEnabledCipherSuite("TLS_RSA_WITH_AES_128_CBC_SHA") // Non Diffie-helman -> debuggable in wireshark .setPemKeyCertOptions(Cert.SERVER_PEM.get()).setSslEngineOptions(new OpenSSLEngineOptions()); server.close(); client.close();
engineOptions = new JdkSSLEngineOptions(); } else if (OpenSSLEngineOptions.isAlpnAvailable()) { engineOptions = new OpenSSLEngineOptions();
int http2ConnectionWindowSize = TestUtils.randomInt(); boolean openSslSessionCacheEnabled = rand.nextBoolean(); SSLEngineOptions sslEngine = TestUtils.randomBoolean() ? new JdkSSLEngineOptions() : new OpenSSLEngineOptions(); List<HttpVersion> alpnVersions = Collections.singletonList(HttpVersion.values()[TestUtils.randomPositiveInt() % 3]); boolean decompressionSupported = rand.nextBoolean();
options.setOpenSslEngineOptions(new OpenSSLEngineOptions()); serverOptions.setOpenSslEngineOptions(new OpenSSLEngineOptions());
Http2Settings initialSettings = randomHttp2Settings(); boolean useAlpn = TestUtils.randomBoolean(); SSLEngineOptions sslEngine = TestUtils.randomBoolean() ? new JdkSSLEngineOptions() : new OpenSSLEngineOptions(); List<HttpVersion> alpnVersions = Collections.singletonList(HttpVersion.values()[TestUtils.randomPositiveInt() % 3]); boolean h2cUpgrade = TestUtils.randomBoolean();
boolean openSslSessionCacheEnabled = rand.nextBoolean(); SSLEngineOptions sslEngine = TestUtils.randomBoolean() ? new JdkSSLEngineOptions() : new OpenSSLEngineOptions(); options.setSendBufferSize(sendBufferSize); options.setReceiveBufferSize(receiverBufferSize);
boolean useAlpn = TestUtils.randomBoolean(); boolean openSslSessionCacheEnabled = rand.nextBoolean(); SSLEngineOptions sslEngine = TestUtils.randomBoolean() ? new JdkSSLEngineOptions() : new OpenSSLEngineOptions(); boolean sni = TestUtils.randomBoolean();