@Override public OpenSSLEngineOptions clone() { return new OpenSSLEngineOptions(this); } }
@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()); }
@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()); } }
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()); } }
if (JdkSSLEngineOptions.isAlpnAvailable()) { engineOptions = new JdkSSLEngineOptions(); } else if (OpenSSLEngineOptions.isAlpnAvailable()) { engineOptions = new OpenSSLEngineOptions(); if (!OpenSSLEngineOptions.isAlpnAvailable()) { throw new VertxException("ALPN is not available for OpenSSL SSL/TLS engine");
public OpenSSLEngineOptions(OpenSSLEngineOptions other) { this.sessionCacheEnabled = other.isSessionCacheEnabled(); }
json.put("openSslEngineOptions", obj.getOpenSslEngineOptions().toJson());
static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, OpenSSLEngineOptions obj) { for (java.util.Map.Entry<String, Object> member : json) { switch (member.getKey()) { case "sessionCacheEnabled": if (member.getValue() instanceof Boolean) { obj.setSessionCacheEnabled((Boolean)member.getValue()); } break; } } }
OpenSSLEngineOptions options = new OpenSSLEngineOptions(); options.setSessionCacheEnabled(true); tcpClientOptions.setOpenSslEngineOptions(new OpenSSLEngineOptions());
@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()); } }
if (JdkSSLEngineOptions.isAlpnAvailable()) { engineOptions = new JdkSSLEngineOptions(); } else if (OpenSSLEngineOptions.isAlpnAvailable()) { engineOptions = new OpenSSLEngineOptions(); if (!OpenSSLEngineOptions.isAlpnAvailable()) { throw new VertxException("ALPN is not available for OpenSSL SSL/TLS engine");
static void toJson(OpenSSLEngineOptions obj, java.util.Map<String, Object> json) { json.put("sessionCacheEnabled", obj.isSessionCacheEnabled()); } }
json.put("openSslEngineOptions", obj.getOpenSslEngineOptions().toJson());
static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, OpenSSLEngineOptions obj) { for (java.util.Map.Entry<String, Object> member : json) { switch (member.getKey()) { case "sessionCacheEnabled": if (member.getValue() instanceof Boolean) { obj.setSessionCacheEnabled((Boolean)member.getValue()); } break; } } }
@Test public void testOpenSSLEngine() throws Exception { doTest(new OpenSSLEngineOptions(), false, HttpVersion.HTTP_1_1, "OpenSSL is not available", "openssl", true); }
@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 testDefaultOpenSslOptionsJson() { OpenSSLEngineOptions def = new OpenSSLEngineOptions(); OpenSSLEngineOptions json = new OpenSSLEngineOptions(def.toJson()); assertEquals(def.isSessionCacheEnabled(), json.isSessionCacheEnabled()); }
public SSLHelper(NetClientOptions options, KeyCertOptions keyCertOptions, TrustOptions trustOptions) { SSLEngineOptions sslEngineOptions = resolveEngineOptions(options); this.ssl = options.isSsl(); this.keyCertOptions = keyCertOptions; this.trustOptions = trustOptions; this.trustAll = options.isTrustAll(); this.crlPaths = new ArrayList<>(options.getCrlPaths()); this.crlValues = new ArrayList<>(options.getCrlValues()); this.enabledCipherSuites = options.getEnabledCipherSuites(); this.openSsl = sslEngineOptions instanceof OpenSSLEngineOptions; this.client = true; this.useAlpn = false; this.enabledProtocols = options.getEnabledSecureTransportProtocols(); this.endpointIdentificationAlgorithm = options.getHostnameVerificationAlgorithm(); this.openSslSessionCacheEnabled = (sslEngineOptions instanceof OpenSSLEngineOptions) && ((OpenSSLEngineOptions) sslEngineOptions).isSessionCacheEnabled(); }