List of usage examples for io.netty.handler.ssl OpenSsl versionString
public static String versionString()
From source file:com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.java
License:Apache License
private void logOpenSSLInfos() { if (OpenSsl.isAvailable()) { log.info("Open SSL " + OpenSsl.versionString() + " available"); log.debug("Open SSL available ciphers " + OpenSsl.availableCipherSuites()); } else {// w ww .ja va 2s. co m log.info( "Open SSL not available (this is not an error, we simply fallback to built-in JDK SSL) because of " + OpenSsl.unavailabilityCause()); } }
From source file:com.floragunn.searchguard.ssl.rest.SearchGuardSSLInfoAction.java
License:Apache License
@Override protected void handleRequest(final RestRequest request, final RestChannel channel, final Client client) throws Exception { BytesRestResponse response = null;//from w w w . j a va2 s. c o m XContentBuilder builder = channel.newBuilder(); try { final X509Certificate[] certs = request.getFromContext("_sg_ssl_peer_certificates"); builder.startObject(); builder.field("principal", (String) request.getFromContext("_sg_ssl_principal")); builder.field("peer_certificates", certs != null && certs.length > 0 ? certs.length + "" : "0"); builder.field("ssl_protocol", (String) request.getFromContext("_sg_ssl_protocol")); builder.field("ssl_cipher", (String) request.getFromContext("_sg_ssl_cipher")); builder.field("ssl_openssl_available", OpenSsl.isAvailable()); builder.field("ssl_openssl_version", OpenSsl.version()); builder.field("ssl_openssl_version_string", OpenSsl.versionString()); Throwable openSslUnavailCause = OpenSsl.unavailabilityCause(); builder.field("ssl_openssl_non_available_cause", openSslUnavailCause == null ? "" : openSslUnavailCause.toString()); builder.field("ssl_provider_http", sgks.getHTTPProviderName()); builder.field("ssl_provider_transport_server", sgks.getTransportServerProviderName()); builder.field("ssl_provider_transport_client", sgks.getTransportClientProviderName()); builder.endObject(); response = new BytesRestResponse(RestStatus.OK, builder); } catch (final Exception e1) { logger.error("Error handle request " + e1, e1); builder = channel.newBuilder(); builder.startObject(); builder.field("error", e1.toString()); builder.endObject(); response = new BytesRestResponse(RestStatus.INTERNAL_SERVER_ERROR, builder); } channel.sendResponse(response); }
From source file:com.github.ibole.microservice.rpc.client.grpc.GrpcClientInitializer.java
License:Apache License
private synchronized static SslContext createSslContext() throws SSLException { if (sslBuilder == null) { sslBuilder = GrpcSslContexts.forClient().ciphers(null); // gRPC uses tcnative / OpenSsl by default, if it's available. It defaults to alpn-boot // if tcnative is not in the classpath. if (OpenSsl.isAvailable()) { LOG.info("SslContext: gRPC is using the OpenSSL provider (tcnactive jar - Open Ssl version: {})", OpenSsl.versionString()); } else {/*from w w w.j a va 2 s . c o m*/ if (isJettyAlpnConfigured()) { // gRPC uses jetty ALPN as a backup to tcnative. LOG.info("SslContext: gRPC is using the JDK provider (alpn-boot jar)"); } else { LOG.info("SslContext: gRPC cannot be configured. Neither OpenSsl nor Alpn are available."); } } } return sslBuilder.build(); }
From source file:com.google.cloud.bigtable.grpc.BigtableSession.java
License:Open Source License
private synchronized static SslContext createSslContext() throws SSLException { if (sslBuilder == null) { sslBuilder = GrpcSslContexts.forClient().ciphers(null); // gRPC uses tcnative / OpenSsl by default, if it's available. It defaults to alpn-boot // if tcnative is not in the classpath. if (OpenSsl.isAvailable()) { LOG.info("gRPC is using the OpenSSL provider (tcnactive jar - Open Ssl version: %s)", OpenSsl.versionString()); } else {//from www . j a va 2s.co m if (isJettyAlpnConfigured()) { // gRPC uses jetty ALPN as a backup to tcnative. LOG.info("gRPC is using the JDK provider (alpn-boot jar)"); } else { LOG.info("gRPC cannot be configured. Neither OpenSsl nor Alpn are available."); } } } return sslBuilder.build(); }
From source file:com.linecorp.armeria.common.util.NativeLibraries.java
License:Apache License
/** * Logs the availability of the native libraries used by Armeria. This method does nothing if it was * called once before.//from w w w .ja va2 s . c o m */ public static void report() { if (!reported.compareAndSet(false, true)) { return; } if (USE_EPOLL) { logger.info("/dev/epoll: " + (Epoll.isAvailable() ? "yes" : "no (" + filterCause(Epoll.unavailabilityCause()) + ')')); } else { logger.info("/dev/epoll: disabled"); } if (USE_OPENSSL) { logger.info("OpenSSL: " + (OpenSsl.isAvailable() ? "yes (" + OpenSsl.versionString() + ", " + OpenSsl.version() + ')' : "no (" + filterCause(OpenSsl.unavailabilityCause()) + ')')); } else { logger.info("OpenSSL: disabled"); } }
From source file:io.grpc.netty.ProtocolNegotiators.java
License:Apache License
@VisibleForTesting static void logSslEngineDetails(Level level, ChannelHandlerContext ctx, String msg, @Nullable Throwable t) { if (!log.isLoggable(level)) { return;//from w ww . ja v a2 s . co m } SslHandler sslHandler = ctx.pipeline().get(SslHandler.class); SSLEngine engine = sslHandler.engine(); StringBuilder builder = new StringBuilder(msg); builder.append("\nSSLEngine Details: [\n"); if (engine instanceof OpenSslEngine) { builder.append(" OpenSSL, "); builder.append("Version: 0x").append(Integer.toHexString(OpenSsl.version())); builder.append(" (").append(OpenSsl.versionString()).append("), "); builder.append("ALPN supported: ").append(OpenSsl.isAlpnSupported()); } else if (JettyTlsUtil.isJettyAlpnConfigured()) { builder.append(" Jetty ALPN"); } else if (JettyTlsUtil.isJettyNpnConfigured()) { builder.append(" Jetty NPN"); } else if (JettyTlsUtil.isJava9AlpnAvailable()) { builder.append(" JDK9 ALPN"); } builder.append("\n TLS Protocol: "); builder.append(engine.getSession().getProtocol()); builder.append("\n Application Protocol: "); builder.append(sslHandler.applicationProtocol()); builder.append("\n Need Client Auth: "); builder.append(engine.getNeedClientAuth()); builder.append("\n Want Client Auth: "); builder.append(engine.getWantClientAuth()); builder.append("\n Supported protocols="); builder.append(Arrays.toString(engine.getSupportedProtocols())); builder.append("\n Enabled protocols="); builder.append(Arrays.toString(engine.getEnabledProtocols())); builder.append("\n Supported ciphers="); builder.append(Arrays.toString(engine.getSupportedCipherSuites())); builder.append("\n Enabled ciphers="); builder.append(Arrays.toString(engine.getEnabledCipherSuites())); builder.append("\n]"); log.log(level, builder.toString(), t); }
From source file:org.infinispan.rest.Http2Test.java
License:Apache License
@Test public void shouldUpgradeUsingALPN() throws Exception { SkipTestNG.skipSinceJDK(10); // TODO: OpenSSL ALPN doesn't seem to work. Restructure the test to use internal JDK ALPN if (!OpenSsl.isAlpnSupported()) { throw new IllegalStateException("OpenSSL is not present, can not test TLS/ALPN support. Version: " + OpenSsl.versionString() + " Cause: " + OpenSsl.unavailabilityCause()); }//from ww w . j a va 2 s . com //given restServer = RestServerHelper.defaultRestServer("http2testcache") .withKeyStore(KEY_STORE_PATH, "secret", "pkcs12") .start(TestResourceTracker.getCurrentTestShortName()); client = NettyHttpClient.newHttp2ClientWithALPN(KEY_STORE_PATH, "secret"); client.start(restServer.getHost(), restServer.getPort()); FullHttpRequest putValueInCacheRequest = new DefaultFullHttpRequest(HTTP_1_1, POST, "/rest/http2testcache/test", wrappedBuffer("test".getBytes(CharsetUtil.UTF_8))); //when client.sendRequest(putValueInCacheRequest); Queue<FullHttpResponse> responses = client.getResponses(); //then Assertions.assertThat(responses).hasSize(1); Assertions.assertThat(responses.element().status().code()).isEqualTo(200); Assertions.assertThat(restServer.getCacheManager().getCache("http2testcache").size()).isEqualTo(1); }