Java Code Examples for io.netty.handler.ssl.SslContextBuilder#applicationProtocolConfig()
The following examples show how to use
io.netty.handler.ssl.SslContextBuilder#applicationProtocolConfig() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ServerSSLContextManager.java From cute-proxy with BSD 2-Clause "Simplified" License | 6 votes |
private SslContext getNettySslContextInner(String host, boolean useH2) throws Exception { long start = System.currentTimeMillis(); PrivateKeyAndCertChain keyAndCertChain = keyStoreGenerator.generateCertChain(host, Settings.certValidityDays); logger.debug("Create certificate for {}, cost {} ms", host, System.currentTimeMillis() - start); SslContextBuilder builder = SslContextBuilder .forServer(keyAndCertChain.privateKey(), keyAndCertChain.certificateChain()); if (useH2) { // .ciphers(Http2SecurityUtil.CIPHERS, SupportedCipherSuiteFilter.INSTANCE) builder.applicationProtocolConfig(new ApplicationProtocolConfig( ApplicationProtocolConfig.Protocol.ALPN, SelectorFailureBehavior.NO_ADVERTISE, SelectedListenerFailureBehavior.ACCEPT, ApplicationProtocolNames.HTTP_2, ApplicationProtocolNames.HTTP_1_1)); } return builder.build(); }
Example 2
Source File: SdsSslContextProvider.java From grpc-java with Apache License 2.0 | 6 votes |
private void updateSslContext() { try { CertificateValidationContext localCertValidationContext = mergeStaticAndDynamicCertContexts(); SslContextBuilder sslContextBuilder = getSslContextBuilder(localCertValidationContext); CommonTlsContext commonTlsContext = getCommonTlsContext(); if (commonTlsContext != null && commonTlsContext.getAlpnProtocolsCount() > 0) { List<String> alpnList = commonTlsContext.getAlpnProtocolsList(); ApplicationProtocolConfig apn = new ApplicationProtocolConfig( ApplicationProtocolConfig.Protocol.ALPN, ApplicationProtocolConfig.SelectorFailureBehavior.NO_ADVERTISE, ApplicationProtocolConfig.SelectedListenerFailureBehavior.ACCEPT, alpnList); sslContextBuilder.applicationProtocolConfig(apn); } SslContext sslContextCopy = sslContextBuilder.build(); sslContext = sslContextCopy; makePendingCallbacks(sslContextCopy); } catch (CertificateException | IOException | CertStoreException e) { logger.log(Level.SEVERE, "exception in updateSslContext", e); } }
Example 3
Source File: SslContextFactory.java From servicetalk with Apache License 2.0 | 5 votes |
/** * A new context for a client using the passed {@code config}. * * @param config SSL config. * @param supportedAlpnProtocols the list of supported ALPN protocols. * @return A new {@link SslContext} for a client. */ public static SslContext forClient(ReadOnlyClientSecurityConfig config, List<String> supportedAlpnProtocols) { requireNonNull(config); SslContextBuilder builder = SslContextBuilder.forClient() .sessionCacheSize(config.sessionCacheSize()).sessionTimeout(config.sessionTimeout()); configureTrustManager(config, builder); KeyManagerFactory keyManagerFactory = config.keyManagerFactory(); if (keyManagerFactory != null) { builder.keyManager(keyManagerFactory); } else { InputStream keyCertChainSupplier = null; InputStream keySupplier = null; try { keyCertChainSupplier = config.keyCertChainSupplier().get(); keySupplier = config.keySupplier().get(); builder.keyManager(keyCertChainSupplier, keySupplier, config.keyPassword()); } finally { try { closeAndRethrowUnchecked(keyCertChainSupplier); } finally { closeAndRethrowUnchecked(keySupplier); } } } builder.sslProvider(toNettySslProvider(config.provider(), !supportedAlpnProtocols.isEmpty())); builder.protocols(config.protocols()); builder.ciphers(config.ciphers()); builder.applicationProtocolConfig(nettyApplicationProtocol(supportedAlpnProtocols)); try { return builder.build(); } catch (SSLException e) { throw new IllegalArgumentException(e); } }
Example 4
Source File: HttpServletProtocolSpringAdapter.java From spring-boot-protocol with Apache License 2.0 | 5 votes |
/** * Initialize the SSL security configuration for HTTPS * @param keyManagerFactory keyManagerFactory * @param ssl ssl * @param sslStoreProvider sslStoreProvider * @return The SSL context builder * @throws Exception Exception */ protected SslContextBuilder getSslContext(KeyManagerFactory keyManagerFactory, Ssl ssl, SslStoreProvider sslStoreProvider) throws Exception { SslContextBuilder builder = SslContextBuilder.forServer(keyManagerFactory); builder.trustManager(getTrustManagerFactory(ssl, sslStoreProvider)); if (ssl.getEnabledProtocols() != null) { builder.protocols(ssl.getEnabledProtocols()); } if (ssl.getCiphers() != null) { builder.ciphers(Arrays.asList(ssl.getCiphers())); } if (ssl.getClientAuth() == Ssl.ClientAuth.NEED) { builder.clientAuth(ClientAuth.REQUIRE); } else if (ssl.getClientAuth() == Ssl.ClientAuth.WANT) { builder.clientAuth(ClientAuth.OPTIONAL); } ApplicationProtocolConfig protocolConfig = new ApplicationProtocolConfig( ApplicationProtocolConfig.Protocol.ALPN, // NO_ADVERTISE is currently the only mode supported by both OpenSsl and JDK providers. ApplicationProtocolConfig.SelectorFailureBehavior.NO_ADVERTISE, // ACCEPT is currently the only mode supported by both OpenSsl and JDK providers. ApplicationProtocolConfig.SelectedListenerFailureBehavior.ACCEPT, ApplicationProtocolNames.HTTP_2, ApplicationProtocolNames.HTTP_1_1); builder.applicationProtocolConfig(protocolConfig); return builder; }
Example 5
Source File: TwoWaySSLFailureIT.java From qonduit with Apache License 2.0 | 5 votes |
protected SSLSocketFactory getSSLSocketFactory() throws Exception { SslContextBuilder builder = SslContextBuilder.forClient(); builder.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED); // Use server cert / key on client side builder.keyManager(serverCert.key(), (String) null, serverCert.cert()); builder.sslProvider(SslProvider.JDK); builder.trustManager(clientTrustStoreFile); // Trust the server cert SslContext ctx = builder.build(); Assert.assertTrue(ctx.isClient()); JdkSslContext jdk = (JdkSslContext) ctx; SSLContext jdkSslContext = jdk.context(); return jdkSslContext.getSocketFactory(); }
Example 6
Source File: TwoWaySSLIT.java From qonduit with Apache License 2.0 | 5 votes |
protected SSLSocketFactory getSSLSocketFactory() throws Exception { SslContextBuilder builder = SslContextBuilder.forClient(); builder.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED); // Use server cert / key on client side. builder.keyManager(serverCert.key(), (String) null, serverCert.cert()); builder.sslProvider(SslProvider.JDK); builder.trustManager(clientTrustStoreFile); // Trust the server cert SslContext ctx = builder.build(); Assert.assertTrue(ctx.isClient()); JdkSslContext jdk = (JdkSslContext) ctx; SSLContext jdkSslContext = jdk.context(); return jdkSslContext.getSocketFactory(); }
Example 7
Source File: WebSocketClientIT.java From qonduit with Apache License 2.0 | 5 votes |
private void setupSslCtx() throws Exception { Assert.assertNotNull(clientTrustStoreFile); SslContextBuilder builder = SslContextBuilder.forClient(); builder.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED); builder.sslProvider(SslProvider.JDK); builder.trustManager(clientTrustStoreFile); // Trust the server cert SslContext ctx = builder.build(); Assert.assertTrue(ctx.isClient()); JdkSslContext jdk = (JdkSslContext) ctx; sslCtx = jdk.context(); }
Example 8
Source File: TwoWaySSLOpenSSLIT.java From qonduit with Apache License 2.0 | 5 votes |
protected SSLSocketFactory getSSLSocketFactory() throws Exception { SslContextBuilder builder = SslContextBuilder.forClient(); builder.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED); // Use server cert / key on client side. builder.keyManager(serverCert.key(), (String) null, serverCert.cert()); builder.sslProvider(SslProvider.JDK); builder.trustManager(clientTrustStoreFile); // Trust the server cert SslContext ctx = builder.build(); Assert.assertTrue(ctx.isClient()); JdkSslContext jdk = (JdkSslContext) ctx; SSLContext jdkSslContext = jdk.context(); return jdkSslContext.getSocketFactory(); }
Example 9
Source File: OneWaySSLBase.java From qonduit with Apache License 2.0 | 5 votes |
protected SSLSocketFactory getSSLSocketFactory() throws Exception { SslContextBuilder builder = SslContextBuilder.forClient(); builder.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED); builder.sslProvider(SslProvider.JDK); builder.trustManager(clientTrustStoreFile); // Trust the server cert SslContext ctx = builder.build(); Assert.assertTrue(ctx.isClient()); JdkSslContext jdk = (JdkSslContext) ctx; SSLContext jdkSslContext = jdk.context(); return jdkSslContext.getSocketFactory(); }
Example 10
Source File: TwoWaySSLFailureIT.java From timely with Apache License 2.0 | 5 votes |
protected SSLSocketFactory getSSLSocketFactory() throws Exception { SslContextBuilder builder = SslContextBuilder.forClient(); builder.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED); // Use server cert / key on client side builder.keyManager(serverCert.key(), (String) null, serverCert.cert()); builder.sslProvider(SslProvider.JDK); builder.trustManager(clientTrustStoreFile); // Trust the server cert SslContext ctx = builder.build(); Assert.assertTrue(ctx.isClient()); Assert.assertTrue(ctx instanceof JdkSslContext); JdkSslContext jdk = (JdkSslContext) ctx; SSLContext jdkSslContext = jdk.context(); return jdkSslContext.getSocketFactory(); }
Example 11
Source File: TwoWaySSLIT.java From timely with Apache License 2.0 | 5 votes |
protected SSLSocketFactory getSSLSocketFactory() throws Exception { SslContextBuilder builder = SslContextBuilder.forClient(); builder.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED); // Use server cert / key on client side. builder.keyManager(serverCert.key(), (String) null, serverCert.cert()); builder.sslProvider(SslProvider.JDK); builder.trustManager(clientTrustStoreFile); // Trust the server cert SslContext ctx = builder.build(); Assert.assertTrue(ctx.isClient()); Assert.assertTrue(ctx instanceof JdkSslContext); JdkSslContext jdk = (JdkSslContext) ctx; SSLContext jdkSslContext = jdk.context(); return jdkSslContext.getSocketFactory(); }
Example 12
Source File: WebSocketClientIT.java From timely with Apache License 2.0 | 5 votes |
private void setupSslCtx() throws Exception { Assert.assertNotNull(clientTrustStoreFile); SslContextBuilder builder = SslContextBuilder.forClient(); builder.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED); builder.sslProvider(SslProvider.JDK); builder.trustManager(clientTrustStoreFile); // Trust the server cert SslContext ctx = builder.build(); Assert.assertTrue(ctx.isClient()); Assert.assertTrue(ctx instanceof JdkSslContext); JdkSslContext jdk = (JdkSslContext) ctx; sslCtx = jdk.context(); }
Example 13
Source File: TwoWaySSLOpenSSLIT.java From timely with Apache License 2.0 | 5 votes |
protected SSLSocketFactory getSSLSocketFactory() throws Exception { SslContextBuilder builder = SslContextBuilder.forClient(); builder.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED); // Use server cert / key on client side. builder.keyManager(serverCert.key(), (String) null, serverCert.cert()); builder.sslProvider(SslProvider.JDK); builder.trustManager(clientTrustStoreFile); // Trust the server cert SslContext ctx = builder.build(); Assert.assertTrue(ctx.isClient()); Assert.assertTrue(ctx instanceof JdkSslContext); JdkSslContext jdk = (JdkSslContext) ctx; SSLContext jdkSslContext = jdk.context(); return jdkSslContext.getSocketFactory(); }
Example 14
Source File: OneWaySSLBase.java From timely with Apache License 2.0 | 5 votes |
protected SSLSocketFactory getSSLSocketFactory() throws Exception { SslContextBuilder builder = SslContextBuilder.forClient(); builder.applicationProtocolConfig(ApplicationProtocolConfig.DISABLED); builder.sslProvider(SslProvider.JDK); builder.trustManager(clientTrustStoreFile); // Trust the server cert SslContext ctx = builder.build(); Assert.assertTrue(ctx.isClient()); Assert.assertTrue(ctx instanceof JdkSslContext); JdkSslContext jdk = (JdkSslContext) ctx; SSLContext jdkSslContext = jdk.context(); return jdkSslContext.getSocketFactory(); }