Java Code Examples for org.eclipse.jetty.util.ssl.SslContextFactory#setKeyStorePassword()
The following examples show how to use
org.eclipse.jetty.util.ssl.SslContextFactory#setKeyStorePassword() .
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: SubmarineServer.java From submarine with Apache License 2.0 | 6 votes |
private static SslContextFactory getSslContextFactory(SubmarineConfiguration conf) { SslContextFactory sslContextFactory = new SslContextFactory(); // Set keystore sslContextFactory.setKeyStorePath(conf.getKeyStorePath()); sslContextFactory.setKeyStoreType(conf.getKeyStoreType()); sslContextFactory.setKeyStorePassword(conf.getKeyStorePassword()); sslContextFactory.setKeyManagerPassword(conf.getKeyManagerPassword()); if (conf.useClientAuth()) { sslContextFactory.setNeedClientAuth(conf.useClientAuth()); // Set truststore sslContextFactory.setTrustStorePath(conf.getTrustStorePath()); sslContextFactory.setTrustStoreType(conf.getTrustStoreType()); sslContextFactory.setTrustStorePassword(conf.getTrustStorePassword()); } return sslContextFactory; }
Example 2
Source File: App.java From mysql_perf_analyzer with Apache License 2.0 | 6 votes |
/** * Create ssl connector if https is used * @return */ private ServerConnector sslConnector() { HttpConfiguration http_config = new HttpConfiguration(); http_config.setSecureScheme("https"); http_config.setSecurePort(this.getPort()); HttpConfiguration https_config = new HttpConfiguration(http_config); https_config.addCustomizer(new SecureRequestCustomizer()); SslContextFactory sslContextFactory = new SslContextFactory(this.getCertKeyStorePath()); sslContextFactory.setKeyStorePassword(this.getCertKeyStorePassword()); //exclude weak ciphers sslContextFactory.setExcludeCipherSuites("^.*_(MD5|SHA|SHA1)$"); //only support tlsv1.2 sslContextFactory.addExcludeProtocols("SSL", "SSLv2", "SSLv2Hello", "SSLv3", "TLSv1", "TLSv1.1"); ServerConnector connector = new ServerConnector(jettyServer, new SslConnectionFactory(sslContextFactory, "http/1.1"), new HttpConnectionFactory(https_config)); connector.setPort(this.getPort()); connector.setIdleTimeout(50000); return connector; }
Example 3
Source File: WebServer.java From hop with Apache License 2.0 | 6 votes |
private ServerConnector getConnector() { if ( sslConfig != null ) { log.logBasic( BaseMessages.getString( PKG, "WebServer.Log.SslModeUsing" ) ); SslConnectionFactory connector = new SslConnectionFactory(); SslContextFactory contextFactory = new SslContextFactory(); contextFactory.setKeyStoreResource( new PathResource( new File( sslConfig.getKeyStore() ) ) ); contextFactory.setKeyStorePassword( sslConfig.getKeyStorePassword() ); contextFactory.setKeyManagerPassword( sslConfig.getKeyPassword() ); contextFactory.setKeyStoreType( sslConfig.getKeyStoreType() ); return new ServerConnector( server, connector ); } else { return new ServerConnector( server ); } }
Example 4
Source File: JettyWebSocketServer.java From sequenceiq-samples with Apache License 2.0 | 6 votes |
@Override public void startSSL(String keyStoreLocation, String keyStorePassword) throws Exception { Server server = new Server(); HttpConfiguration httpsConfig = new HttpConfiguration(); httpsConfig.addCustomizer(new SecureRequestCustomizer()); SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setKeyStorePath(keyStoreLocation); sslContextFactory.setKeyStorePassword(keyStorePassword); ServerConnector https = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, "http/1.1"), new HttpConnectionFactory(httpsConfig)); https.setHost(host); https.setPort(port); server.setConnectors(new Connector[]{https}); configureContextHandler(server); startServer(server); }
Example 5
Source File: HttpConfig.java From api-layer with Eclipse Public License 2.0 | 6 votes |
@Bean public SslContextFactory jettySslContextFactory() { SslContextFactory sslContextFactory = new SslContextFactory(SecurityUtils.replaceFourSlashes(keyStore)); sslContextFactory.setProtocol(protocol); sslContextFactory.setKeyStorePassword(keyStorePassword); sslContextFactory.setKeyStoreType(keyStoreType); sslContextFactory.setCertAlias(keyAlias); if (trustStore != null) { sslContextFactory.setTrustStorePath(SecurityUtils.replaceFourSlashes(trustStore)); sslContextFactory.setTrustStoreType(trustStoreType); sslContextFactory.setTrustStorePassword(trustStorePassword); } log.debug("jettySslContextFactory: {}", sslContextFactory.dump()); if (!verifySslCertificatesOfServices) { sslContextFactory.setTrustAll(true); } return sslContextFactory; }
Example 6
Source File: App.java From schedge with MIT License | 5 votes |
private static SslContextFactory getSslContextFactory() { SslContextFactory sslContextFactory = new SslContextFactory.Server(); URL resource = Utils.class.getResource("/keystore.jks"); if (resource == null) { logger.info("Couldn't find keystore at src/main/resources/keystore.jks"); return null; } else { logger.info("Using keystore for HTTPS"); } sslContextFactory.setKeyStorePath(resource.toExternalForm()); sslContextFactory.setKeyStorePassword("password"); return sslContextFactory; }
Example 7
Source File: ServersUtil.java From joynr with Apache License 2.0 | 5 votes |
private static Server startSSLServer(ContextHandlerCollection contexts, SSLSettings settings, int port) throws IOException, Exception { System.setProperty(MessagingPropertyKeys.PROPERTY_SERVLET_HOST_PATH, "http://localhost:" + port); logger.info("PORT: {}", System.getProperty(MessagingPropertyKeys.PROPERTY_SERVLET_HOST_PATH)); final Server jettyServer = new Server(); HttpConfiguration https_config = new HttpConfiguration(); https_config.setSecureScheme("https"); https_config.setSecurePort(port); https_config.setOutputBufferSize(32768); https_config.addCustomizer(new SecureRequestCustomizer()); // Configure SSL final SslContextFactory contextFactory = new SslContextFactory(); contextFactory.setKeyStorePath(settings.getKeyStorePath()); contextFactory.setTrustStorePath(settings.getTrustStorePath()); contextFactory.setKeyStorePassword(settings.getKeyStorePassword()); contextFactory.setTrustStorePassword(settings.getKeyStorePassword()); contextFactory.setNeedClientAuth(true); // Create and use an SSL connector ServerConnector connector = new ServerConnector(jettyServer, new SslConnectionFactory(contextFactory, "http/1.1"), new HttpConnectionFactory(https_config)); connector.setPort(port); connector.setAcceptQueueSize(1); jettyServer.setConnectors(new Connector[]{ connector }); String serverUrl = "https://localhost:" + port; System.getProperties().setProperty(MessagingPropertyKeys.PROPERTY_SERVLET_HOST_PATH, serverUrl); jettyServer.setHandler(contexts); jettyServer.start(); return jettyServer; }
Example 8
Source File: ForceUtils.java From datacollector with Apache License 2.0 | 5 votes |
public static SslContextFactory makeSslContextFactory(ForceConfigBean conf) throws StageException { SslContextFactory sslContextFactory = new SslContextFactory(); if (conf.mutualAuth.useMutualAuth) { sslContextFactory.setKeyStore(conf.mutualAuth.getUnderlyingConfig().getKeyStore()); // Need to set password in the SSLContextFactory even though it's set in the KeyStore sslContextFactory.setKeyStorePassword(conf.mutualAuth.getUnderlyingConfig().keyStorePassword.get()); } return sslContextFactory; }
Example 9
Source File: ExchangeSocketServer.java From conga with Apache License 2.0 | 5 votes |
public void init() { // connector configuration SslContextFactory sslContextFactory = new SslContextFactory(); if (null != keyStorePath) { sslContextFactory.setKeyStorePath(keyStorePath); } if (null != keyStorePassword) { sslContextFactory.setKeyStorePassword(keyStorePassword); } if (null != keyManagerPassword) { sslContextFactory.setKeyManagerPassword(keyManagerPassword); } SslConnectionFactory sslConnectionFactory = new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()); HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory(new HttpConfiguration()); ServerConnector sslConnector = new ServerConnector(server, sslConnectionFactory, httpConnectionFactory); sslConnector.setHost(host); sslConnector.setPort(port); server.addConnector(sslConnector); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); ServletHolder servletHolder = new ServletHolder(new ExchangeServlet(sessions, ringBuffer)); context.addServlet(servletHolder, "/trade/*"); // context.addServlet(DefaultServlet.class, "/"); server.setHandler(context); }
Example 10
Source File: MockServer.java From aws-sdk-java-v2 with Apache License 2.0 | 5 votes |
public MockServer() throws IOException { server = new Server(); connector = new ServerConnector(server); connector.setPort(httpPort); HttpConfiguration https = new HttpConfiguration(); https.addCustomizer(new SecureRequestCustomizer()); SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setTrustAll(true); sslContextFactory.setValidateCerts(false); sslContextFactory.setNeedClientAuth(false); sslContextFactory.setWantClientAuth(false); sslContextFactory.setValidatePeerCerts(false); sslContextFactory.setKeyStorePassword("password"); sslContextFactory.setKeyStorePath(MockServer.class.getResource("mock-keystore.jks").toExternalForm()); sslConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()), new HttpConnectionFactory(https)); sslConnector.setPort(httpsPort); server.setConnectors(new Connector[] {connector, sslConnector}); ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS); context.addServlet(new ServletHolder(new AlwaysSuccessServlet()), "/*"); server.setHandler(context); }
Example 11
Source File: TestServer.java From chipster with MIT License | 5 votes |
public static void main(String[] args) throws Exception { Server jettyInstance = new Server(); ServerConnector connector = new ServerConnector(jettyInstance); connector.setPort(9080); SslContextFactory sslContext = new SslContextFactory("keystore.ks"); sslContext.setKeyStorePassword("microarray"); ServerConnector sslConnector = new ServerConnector(jettyInstance); sslConnector.setPort(9443); jettyInstance.setConnectors(new Connector[]{ connector, sslConnector }); ServletContextHandler root = new ServletContextHandler(jettyInstance, "/", false, false); root.setResourceBase("/tmp/test-root"); root.addServlet(new ServletHolder(new UploadServlet()), "/*"); jettyInstance.start(); }
Example 12
Source File: SslConfigurer.java From ambari-logsearch with Apache License 2.0 | 5 votes |
public SslContextFactory getSslContextFactory() { SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setKeyStorePath(getKeyStoreLocation()); sslContextFactory.setKeyStorePassword(getKeyStorePassword()); sslContextFactory.setKeyStoreType(getKeyStoreType()); if (isTrustStoreSpecified()) { sslContextFactory.setTrustStorePath(getTrustStoreLocation()); sslContextFactory.setTrustStorePassword(getTrustStorePassword()); sslContextFactory.setTrustStoreType(getTrustStoreType()); } return sslContextFactory; }
Example 13
Source File: HttpClientSetUp.java From product-private-paas with Apache License 2.0 | 5 votes |
public HttpClientSetUp() { // Create Server ServletContextHandler context = new ServletContextHandler(); server.setHandler(context); ServletHolder jerseyServlet = context .addServlet(org.glassfish.jersey.servlet.ServletContainer.class, "/stratos/*"); jerseyServlet.setInitOrder(0); jerseyServlet .setInitParameter("jersey.config.server.provider.classnames", StratosV400Mock.class.getCanonicalName()); ServletHolder jerseyServlet2 = context .addServlet(org.glassfish.jersey.servlet.ServletContainer.class, "/migration/*"); jerseyServlet2.setInitOrder(0); jerseyServlet2 .setInitParameter("jersey.config.server.provider.classnames", StratosV400Mock.class.getCanonicalName()); server.setHandler(context); HttpConfiguration https_config = new HttpConfiguration(); https_config.setSecureScheme("https"); https_config.setSecurePort(Integer.getInteger("https.port")); https_config.setOutputBufferSize(TestConstants.BUFFER_SIZE); https_config.addCustomizer(new SecureRequestCustomizer()); SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setKeyStorePath(TestConstants.KEYSTORE_PATH); sslContextFactory.setKeyStorePassword("wso2carbon"); sslContextFactory.setKeyManagerPassword("wso2carbon"); ServerConnector https = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()), new HttpConnectionFactory(https_config)); https.setPort(Integer.getInteger("https.port")); https.setIdleTimeout(TestConstants.IDLE_TIMEOUT); // Set the connectors server.setConnectors(new Connector[] { https }); }
Example 14
Source File: ServerBuilder.java From java-11-examples with Apache License 2.0 | 4 votes |
public Server build() throws Exception { Server server = new Server(); // Register servlets ServletContextHandler context = new ServletContextHandler(server, contextUrn, ServletContextHandler.SESSIONS); servletHandlers.forEach((uri, servletHolder) -> { context.addServlet(servletHolder, uri);}); // Register servlet filters filters.forEach((urn, filterHolder) -> { context.addFilter(filterHolder, urn, EnumSet.of(DispatcherType.REQUEST)); }); // Register EventListener instances sessionEventListeners.forEach( listener -> { context.getSessionHandler().addEventListener(listener); }); // Register jersey rest services ServletContainer restServletContainer = new ServletContainer(resourceConfig); ServletHolder restServletHolder = new ServletHolder(restServletContainer); context.addServlet(restServletHolder, restUriPrefix); // Register static resources (html pages, images, javascripts, ...) String externalResource = this.getClass().getResource(staticResourceBasePath).toExternalForm(); DefaultServlet defaultServlet = new DefaultServlet(); ServletHolder holderPwd = new ServletHolder("default", defaultServlet); holderPwd.setInitParameter("resourceBase", externalResource); context.addServlet(holderPwd, staticResourceBaseUrn); server.setHandler(context); // HTTP Configuration HttpConfiguration httpConfig = new HttpConfiguration(); httpConfig.setSecureScheme("https"); httpConfig.setSecurePort(secureHttpPort); httpConfig.setSendXPoweredBy(true); httpConfig.setSendServerVersion(true); // HTTP Connector HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory(httpConfig); HTTP2CServerConnectionFactory http2CServerConnectionFactory = new HTTP2CServerConnectionFactory(httpConfig); ServerConnector http = new ServerConnector(server, httpConnectionFactory, http2CServerConnectionFactory); http.setPort(httpPort); server.addConnector(http); // SSL Context Factory for HTTPS and HTTP/2 SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setTrustStore(keyStore); sslContextFactory.setTrustStorePassword(keyStorePassword); sslContextFactory.setKeyStore(keyStore); sslContextFactory.setKeyStorePassword(keyStorePassword); sslContextFactory.setCipherComparator(HTTP2Cipher.COMPARATOR); // HTTPS Configuration HttpConfiguration httpsConfig = new HttpConfiguration(httpConfig); httpsConfig.addCustomizer(new SecureRequestCustomizer()); // HTTP/2 Connection Factory ServerConnectionFactory h2 = new ServerConnectionFactory(httpsConfig, streamProcessors); //NegotiatingServerConnectionFactory.checkProtocolNegotiationAvailable(); ALPNServerConnectionFactory alpn = new ALPNServerConnectionFactory(); alpn.setDefaultProtocol(http.getDefaultProtocol()); // SSL Connection Factory SslConnectionFactory ssl = new SslConnectionFactory(sslContextFactory, alpn.getProtocol()); // HTTP/2 Connector ServerConnector http2Connector = new ServerConnector(server, ssl, alpn, h2, new HttpConnectionFactory(httpsConfig)); http2Connector.setPort(secureHttpPort); server.addConnector(http2Connector); ALPN.debug=false; return server; }
Example 15
Source File: HttpService.java From brooklyn-server with Apache License 2.0 | 4 votes |
public HttpService start() throws Exception { TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), ROOT_WAR_PATH); try { if (httpsEnabled) { //by default the server is configured with a http connector, this needs to be removed since we are going //to provide https for (Connector c: server.getConnectors()) { server.removeConnector(c); } InputStream keyStoreStream = ResourceUtils.create(this).getResourceFromUrl(SERVER_KEYSTORE); KeyStore keyStore; try { keyStore = SecureKeys.newKeyStore(keyStoreStream, "password"); } finally { keyStoreStream.close(); } // manually create like seen in XMLs at http://www.eclipse.org/jetty/documentation/current/configuring-ssl.html SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setKeyStore(keyStore); sslContextFactory.setTrustAll(true); sslContextFactory.setKeyStorePassword("password"); HttpConfiguration sslHttpConfig = new HttpConfiguration(); sslHttpConfig.setSecureScheme("https"); sslHttpConfig.setSecurePort(actualPort); ServerConnector httpsConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()), new HttpConnectionFactory(sslHttpConfig)); httpsConnector.setPort(actualPort); server.addConnector(httpsConnector); } addShutdownHook(); File tmpWarFile = Os.writeToTempFile( ResourceUtils.create(this).getResourceFromUrl(ROOT_WAR_URL), "TestHttpService", ".war"); WebAppContext context = new WebAppContext(); context.setWar(tmpWarFile.getAbsolutePath()); context.setContextPath("/"); context.setParentLoaderPriority(true); if (securityHandler.isPresent()) { context.setSecurityHandler(securityHandler.get()); } server.setHandler(context); server.start(); log.info("Started test HttpService at "+getUrl()); } catch (Exception e) { try { shutdown(); } catch (Exception e2) { log.warn("Error shutting down HttpService while recovering from earlier error (re-throwing earlier error)", e2); throw e; } } return this; }
Example 16
Source File: TestHttpClient.java From nifi with Apache License 2.0 | 4 votes |
@BeforeClass public static void setup() throws Exception { // Create embedded Jetty server // Use less threads to mitigate Gateway Timeout (504) with proxy test // Minimum thread pool size = (acceptors=2 + selectors=8 + request=1), defaults to max=200 final QueuedThreadPool threadPool = new QueuedThreadPool(50); server = new Server(threadPool); final ContextHandlerCollection handlerCollection = new ContextHandlerCollection(); final ServletContextHandler contextHandler = new ServletContextHandler(); contextHandler.setContextPath("/nifi-api"); final ServletContextHandler wrongPathContextHandler = new ServletContextHandler(); wrongPathContextHandler.setContextPath("/wrong/nifi-api"); handlerCollection.setHandlers(new Handler[]{contextHandler, wrongPathContextHandler}); server.setHandler(handlerCollection); final ServletHandler servletHandler = new ServletHandler(); contextHandler.insertHandler(servletHandler); final ServletHandler wrongPathServletHandler = new ServletHandler(); wrongPathContextHandler.insertHandler(wrongPathServletHandler); final SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setKeyStorePath("src/test/resources/certs/keystore.jks"); sslContextFactory.setKeyStorePassword("passwordpassword"); sslContextFactory.setKeyStoreType("JKS"); sslContextFactory.setProtocol(CertificateUtils.getHighestCurrentSupportedTlsProtocolVersion()); sslContextFactory.setExcludeProtocols("TLS", "TLSv1", "TLSv1.1"); httpConnector = new ServerConnector(server); final HttpConfiguration https = new HttpConfiguration(); https.addCustomizer(new SecureRequestCustomizer()); sslConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, "http/1.1"), new HttpConnectionFactory(https)); logger.info("SSL Connector: " + sslConnector.dump()); server.setConnectors(new Connector[] { httpConnector, sslConnector }); wrongPathServletHandler.addServletWithMapping(WrongSiteInfoServlet.class, "/site-to-site"); servletHandler.addServletWithMapping(SiteInfoServlet.class, "/site-to-site"); servletHandler.addServletWithMapping(PeersServlet.class, "/site-to-site/peers"); servletHandler.addServletWithMapping(PortTransactionsAccessDeniedServlet.class, "/data-transfer/input-ports/input-access-denied-id/transactions"); servletHandler.addServletWithMapping(PortTransactionsServlet.class, "/data-transfer/input-ports/input-running-id/transactions"); servletHandler.addServletWithMapping(InputPortTransactionServlet.class, "/data-transfer/input-ports/input-running-id/transactions/transaction-id"); servletHandler.addServletWithMapping(FlowFilesServlet.class, "/data-transfer/input-ports/input-running-id/transactions/transaction-id/flow-files"); servletHandler.addServletWithMapping(PortTransactionsServlet.class, "/data-transfer/input-ports/input-timeout-id/transactions"); servletHandler.addServletWithMapping(InputPortTransactionServlet.class, "/data-transfer/input-ports/input-timeout-id/transactions/transaction-id"); servletHandler.addServletWithMapping(FlowFilesTimeoutServlet.class, "/data-transfer/input-ports/input-timeout-id/transactions/transaction-id/flow-files"); servletHandler.addServletWithMapping(PortTransactionsServlet.class, "/data-transfer/input-ports/input-timeout-data-ex-id/transactions"); servletHandler.addServletWithMapping(InputPortTransactionServlet.class, "/data-transfer/input-ports/input-timeout-data-ex-id/transactions/transaction-id"); servletHandler.addServletWithMapping(FlowFilesTimeoutAfterDataExchangeServlet.class, "/data-transfer/input-ports/input-timeout-data-ex-id/transactions/transaction-id/flow-files"); servletHandler.addServletWithMapping(PortTransactionsServlet.class, "/data-transfer/output-ports/output-running-id/transactions"); servletHandler.addServletWithMapping(OutputPortTransactionServlet.class, "/data-transfer/output-ports/output-running-id/transactions/transaction-id"); servletHandler.addServletWithMapping(FlowFilesServlet.class, "/data-transfer/output-ports/output-running-id/transactions/transaction-id/flow-files"); servletHandler.addServletWithMapping(PortTransactionsServlet.class, "/data-transfer/output-ports/output-timeout-id/transactions"); servletHandler.addServletWithMapping(OutputPortTransactionServlet.class, "/data-transfer/output-ports/output-timeout-id/transactions/transaction-id"); servletHandler.addServletWithMapping(FlowFilesTimeoutServlet.class, "/data-transfer/output-ports/output-timeout-id/transactions/transaction-id/flow-files"); servletHandler.addServletWithMapping(PortTransactionsServlet.class, "/data-transfer/output-ports/output-timeout-data-ex-id/transactions"); servletHandler.addServletWithMapping(OutputPortTransactionServlet.class, "/data-transfer/output-ports/output-timeout-data-ex-id/transactions/transaction-id"); servletHandler.addServletWithMapping(FlowFilesTimeoutAfterDataExchangeServlet.class, "/data-transfer/output-ports/output-timeout-data-ex-id/transactions/transaction-id/flow-files"); server.start(); logger.info("Starting server on port {} for HTTP, and {} for HTTPS", httpConnector.getLocalPort(), sslConnector.getLocalPort()); startProxyServer(); startProxyServerWithAuth(); }
Example 17
Source File: Http2Server.java From http2-examples with Apache License 2.0 | 4 votes |
public static void main(String... args) throws Exception { Server server = new Server(); ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS); context.addServlet(new ServletHolder(new Servlet()), "/"); server.setHandler(context); // HTTP Configuration HttpConfiguration http_config = new HttpConfiguration(); http_config.setSecureScheme("https"); http_config.setSecurePort(8443); // SSL Context Factory for HTTPS and HTTP/2 SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setKeyStoreResource(newClassPathResource("keystore")); sslContextFactory.setKeyStorePassword("OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"); sslContextFactory.setKeyManagerPassword("OBF:1u2u1wml1z7s1z7a1wnl1u2g"); sslContextFactory.setCipherComparator(HTTP2Cipher.COMPARATOR); // HTTPS Configuration HttpConfiguration https_config = new HttpConfiguration(http_config); https_config.addCustomizer(new SecureRequestCustomizer()); // HTTP/2 Connection Factory HTTP2ServerConnectionFactory h2 = new MyConnectionFactory(https_config); NegotiatingServerConnectionFactory.checkProtocolNegotiationAvailable(); ALPNServerConnectionFactory alpn = new ALPNServerConnectionFactory(); alpn.setDefaultProtocol("h2"); // SSL Connection Factory SslConnectionFactory ssl = new SslConnectionFactory(sslContextFactory,alpn.getProtocol()); // HTTP/2 Connector ServerConnector http2Connector = new ServerConnector(server,ssl,alpn,h2,new HttpConnectionFactory(https_config)); http2Connector.setPort(8443); server.addConnector(http2Connector); ALPN.debug=false; server.start(); server.join(); }
Example 18
Source File: BrooklynWebServer.java From brooklyn-server with Apache License 2.0 | 4 votes |
private SslContextFactory createContextFactory() throws KeyStoreException { SslContextFactory sslContextFactory = new SslContextFactory(); // allow webconsole keystore & related properties to be set in brooklyn.properties String ksUrl = getKeystoreUrl(); String ksPassword = getConfig(keystorePassword, BrooklynWebConfig.KEYSTORE_PASSWORD); String ksCertAlias = getConfig(keystoreCertAlias, BrooklynWebConfig.KEYSTORE_CERTIFICATE_ALIAS); String trProtos = getConfig(transportProtocols, BrooklynWebConfig.TRANSPORT_PROTOCOLS); String trCiphers = getConfig(transportCiphers, BrooklynWebConfig.TRANSPORT_CIPHERS); if (ksUrl!=null) { sslContextFactory.setKeyStorePath(getLocalKeyStorePath(ksUrl)); if (Strings.isEmpty(ksPassword)) throw new IllegalArgumentException("Keystore password is required and non-empty if keystore is specified."); sslContextFactory.setKeyStorePassword(ksPassword); if (Strings.isNonEmpty(ksCertAlias)) sslContextFactory.setCertAlias(ksCertAlias); } else { log.info("No keystore specified but https enabled; creating a default keystore"); if (Strings.isEmpty(ksCertAlias)) ksCertAlias = "web-console"; // if password is blank the process will block and read from stdin ! if (Strings.isEmpty(ksPassword)) { ksPassword = Identifiers.makeRandomId(8); log.debug("created random password "+ksPassword+" for ad hoc internal keystore"); } KeyStore ks = SecureKeys.newKeyStore(); KeyPair key = SecureKeys.newKeyPair(); X509Certificate cert = new FluentKeySigner("brooklyn").newCertificateFor("web-console", key); ks.setKeyEntry(ksCertAlias, key.getPrivate(), ksPassword.toCharArray(), new Certificate[] { cert }); sslContextFactory.setKeyStore(ks); sslContextFactory.setKeyStorePassword(ksPassword); sslContextFactory.setCertAlias(ksCertAlias); } if (!Strings.isEmpty(truststorePath)) { sslContextFactory.setTrustStorePath(checkFileExists(truststorePath, "truststore")); sslContextFactory.setTrustStorePassword(trustStorePassword); } if (Strings.isNonBlank(trProtos)) { sslContextFactory.setIncludeProtocols(parseArray(trProtos)); } if (Strings.isNonBlank(trCiphers)) { sslContextFactory.setIncludeCipherSuites(parseArray(trCiphers)); } return sslContextFactory; }
Example 19
Source File: StandardTLSTest.java From apiman with Apache License 2.0 | 4 votes |
@Before public void setupJetty() throws Exception { server = new Server(); server.setStopAtShutdown(true); http_config = new HttpConfiguration(); http_config.setSecureScheme("https"); SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setTrustStorePath(getResourcePath("2waytest/mutual_trust_via_ca/common_ts.jks")); sslContextFactory.setTrustStorePassword("password"); sslContextFactory.setKeyStorePath(getResourcePath("2waytest/mutual_trust_via_ca/service_ks.jks")); sslContextFactory.setKeyStorePassword("password"); sslContextFactory.setKeyManagerPassword("password"); // Use default trust store // No client auth sslContextFactory.setNeedClientAuth(false); sslContextFactory.setWantClientAuth(false); HttpConfiguration https_config = new HttpConfiguration(http_config); https_config.addCustomizer(new SecureRequestCustomizer()); ServerConnector sslConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory,"http/1.1"), new HttpConnectionFactory(https_config)); sslConnector.setPort(8008); server.addConnector(sslConnector); // Thanks to Jetty getting started guide. server.setHandler(new AbstractHandler() { @Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { Enumeration<String> z = request.getAttributeNames(); while (z.hasMoreElements()) { String elem = z.nextElement(); System.out.println(elem + " - " + request.getAttribute(elem)); } response.setStatus(HttpServletResponse.SC_OK); baseRequest.setHandled(true); response.getWriter().println("apiman"); } }); server.start(); }
Example 20
Source File: RESTApp.java From account-provisioning-for-google-apps with Apache License 2.0 | 4 votes |
/** * Initializes the Jetty server. */ private void initJettyServer() { logger.log(Level.INFO, "Initialzing Jetty server..."); int port; if (customPort == null) { logger.log(Level.INFO, "Initialzing server in default port: " + PORT_DEFAULT_VALUE); port = PORT_DEFAULT_VALUE; } else { logger.log(Level.INFO, "Initialzing server in custom port: " + customPort.toString()); port = customPort; } jettyServer = new Server(port); ConfigData config = ProvisioningApp.getInstance().getContext().getConfig(); if (config.getUseSSL()) { HttpConfiguration https = new HttpConfiguration(); https.addCustomizer(new SecureRequestCustomizer()); SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setKeyStorePath(config.getKeyStorePath()); sslContextFactory.setKeyStorePassword(config.getKeyStorePassword()); sslContextFactory.setKeyManagerPassword(config.getKeyManagerPassword()); ServerConnector sslConnector = new ServerConnector(jettyServer, new SslConnectionFactory(sslContextFactory, HTTP_VERSION), new HttpConnectionFactory( https)); sslConnector.setPort(port); jettyServer.setConnectors(new Connector[] {sslConnector}); } jettyServer.setHandler(servletContext); try { jettyServer.start(); jettyServer.join(); } catch (Throwable e) { logger.log(Level.SEVERE, "Exception during server initialization", e); jettyServer.destroy(); } }