Java Examples for org.eclipse.jetty.http.ssl.SslContextFactory
The following java examples will help you to understand the usage of org.eclipse.jetty.http.ssl.SslContextFactory. These source code samples are taken from different open source projects.
Example 1
| Project: org.ops4j.pax.url-master File: TestBase.java View source code |
@Before
public void startHttp() throws Exception {
/** client setup */
/** TODO should work w/o this ? */
Util.setupClientSSL();
/** server setup */
server = new Server();
final SslContextFactory factory = new SslContextFactory();
factory.setKeyStore(Util.getTestKeystore().getAbsolutePath());
factory.setKeyStorePassword(Util.getTestKeystorePassword());
factory.setTrustStore(Util.getTestKeystore().getAbsolutePath());
factory.setKeyManagerPassword(Util.getTestKeystorePassword());
final SslSocketConnector connector = new SslSocketConnector(factory);
connector.setPort(Util.getPort());
server.addConnector(connector);
server.setHandler(new RepoHandler());
server.start();
log.info("init");
}Example 2
| Project: blog-cdidemo-master File: Start.java View source code |
public static void main(String[] args) throws Exception {
int timeout = (int) Duration.ONE_HOUR.getMilliseconds();
Server server = new Server();
SocketConnector connector = new SocketConnector();
// Set some timeout options to make debugging easier.
connector.setMaxIdleTime(timeout);
connector.setSoLingerTime(-1);
connector.setPort(8080);
server.addConnector(connector);
// check if a keystore for a SSL certificate is available, and
// if so, start a SSL connector on port 8443. By default, the
// quickstart comes with a Apache Wicket Quickstart Certificate
// that expires about half way september 2021. Do not use this
// certificate anywhere important as the passwords are available
// in the source.
Resource keystore = Resource.newClassPathResource("/keystore");
if (keystore != null && keystore.exists()) {
connector.setConfidentialPort(8443);
SslContextFactory factory = new SslContextFactory();
factory.setKeyStoreResource(keystore);
factory.setKeyStorePassword("wicket");
factory.setTrustStore(keystore);
factory.setKeyManagerPassword("wicket");
SslSocketConnector sslConnector = new SslSocketConnector(factory);
sslConnector.setMaxIdleTime(timeout);
sslConnector.setPort(8443);
sslConnector.setAcceptors(4);
server.addConnector(sslConnector);
System.out.println("SSL access to the quickstart has been enabled on port 8443");
System.out.println("You can access the application using SSL on https://localhost:8443");
System.out.println();
}
WebAppContext bb = new WebAppContext();
bb.setServer(server);
bb.setContextPath("/");
bb.setWar("src/main/webapp");
// START JMX SERVER
// MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
// MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer);
// server.getContainer().addEventListener(mBeanContainer);
// mBeanContainer.start();
server.setHandler(bb);
try {
System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP");
server.start();
System.in.read();
System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
server.stop();
server.join();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}Example 3
| Project: justaddwater-master File: Start.java View source code |
public static void main(String[] args) throws Exception {
int timeout = (int) Duration.ONE_HOUR.getMilliseconds();
Server server = new Server();
SocketConnector connector = new SocketConnector();
// Set some timeout options to make debugging easier.
connector.setMaxIdleTime(timeout);
connector.setSoLingerTime(-1);
connector.setPort(8080);
server.addConnector(connector);
// check if a keystore for a SSL certificate is available, and
// if so, start a SSL connector on port 8443. By default, the
// quickstart comes with a Apache Wicket Quickstart Certificate
// that expires about half way september 2021. Do not use this
// certificate anywhere important as the passwords are available
// in the source.
Resource keystore = Resource.newClassPathResource("/keystore");
if (keystore != null && keystore.exists()) {
connector.setConfidentialPort(8443);
SslContextFactory factory = new SslContextFactory();
factory.setKeyStoreResource(keystore);
factory.setKeyStorePassword("wicket");
factory.setTrustStore(keystore);
factory.setKeyManagerPassword("wicket");
SslSocketConnector sslConnector = new SslSocketConnector(factory);
sslConnector.setMaxIdleTime(timeout);
sslConnector.setPort(8443);
sslConnector.setAcceptors(4);
server.addConnector(sslConnector);
System.out.println("SSL access to the quickstart has been enabled on port 8443");
System.out.println("You can access the application using SSL on https://localhost:8443");
System.out.println();
}
WebAppContext bb = new WebAppContext();
bb.setServer(server);
bb.setContextPath("/");
bb.setWar("src/main/webapp");
// START JMX SERVER
// MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
// MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer);
// server.getContainer().addEventListener(mBeanContainer);
// mBeanContainer.start();
server.setHandler(bb);
try {
System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP");
server.start();
System.in.read();
System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
server.stop();
server.join();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}Example 4
| Project: wicked-forms-master File: Start.java View source code |
public static void main(String[] args) throws Exception {
int timeout = (int) Duration.ONE_HOUR.getMilliseconds();
Server server = new Server();
SocketConnector connector = new SocketConnector();
// Set some timeout options to make debugging easier.
connector.setMaxIdleTime(timeout);
connector.setSoLingerTime(-1);
connector.setPort(8080);
server.addConnector(connector);
// check if a keystore for a SSL certificate is available, and
// if so, start a SSL connector on port 8443. By default, the
// quickstart comes with a Apache Wicket Quickstart Certificate
// that expires about half way september 2021. Do not use this
// certificate anywhere important as the passwords are available
// in the source.
Resource keystore = Resource.newClassPathResource("/keystore");
if (keystore != null && keystore.exists()) {
connector.setConfidentialPort(8443);
SslContextFactory factory = new SslContextFactory();
factory.setKeyStoreResource(keystore);
factory.setKeyStorePassword("wicket");
factory.setTrustStore(keystore);
factory.setKeyManagerPassword("wicket");
SslSocketConnector sslConnector = new SslSocketConnector(factory);
sslConnector.setMaxIdleTime(timeout);
sslConnector.setPort(8443);
sslConnector.setAcceptors(4);
server.addConnector(sslConnector);
System.out.println("SSL access to the quickstart has been enabled on port 8443");
System.out.println("You can access the application using SSL on https://localhost:8443");
System.out.println();
}
WebAppContext bb = new WebAppContext();
bb.setServer(server);
bb.setContextPath("/");
bb.setWar("src/main/webapp");
// START JMX SERVER
// MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
// MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer);
// server.getContainer().addEventListener(mBeanContainer);
// mBeanContainer.start();
server.setHandler(bb);
try {
System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP");
server.start();
System.in.read();
System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
server.stop();
server.join();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}Example 5
| Project: wicket-sample-master File: Start.java View source code |
public static void main(String[] args) throws Exception {
int timeout = (int) Duration.ONE_HOUR.getMilliseconds();
Server server = new Server();
SocketConnector connector = new SocketConnector();
// Set some timeout options to make debugging easier.
connector.setMaxIdleTime(timeout);
connector.setSoLingerTime(-1);
connector.setPort(8080);
server.addConnector(connector);
// check if a keystore for a SSL certificate is available, and
// if so, start a SSL connector on port 8443. By default, the
// quickstart comes with a Apache Wicket Quickstart Certificate
// that expires about half way september 2021. Do not use this
// certificate anywhere important as the passwords are available
// in the source.
Resource keystore = Resource.newClassPathResource("/keystore");
if (keystore != null && keystore.exists()) {
connector.setConfidentialPort(8443);
SslContextFactory factory = new SslContextFactory();
factory.setKeyStoreResource(keystore);
factory.setKeyStorePassword("wicket");
factory.setTrustStore(keystore);
factory.setKeyManagerPassword("wicket");
SslSocketConnector sslConnector = new SslSocketConnector(factory);
sslConnector.setMaxIdleTime(timeout);
sslConnector.setPort(8443);
sslConnector.setAcceptors(4);
server.addConnector(sslConnector);
System.out.println("SSL access to the quickstart has been enabled on port 8443");
System.out.println("You can access the application using SSL on https://localhost:8443");
System.out.println();
}
WebAppContext bb = new WebAppContext();
bb.setServer(server);
bb.setContextPath("/");
bb.setWar("src/main/webapp");
// START JMX SERVER
// MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
// MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer);
// server.getContainer().addEventListener(mBeanContainer);
// mBeanContainer.start();
server.setHandler(bb);
try {
System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP");
server.start();
System.in.read();
System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
server.stop();
server.join();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}Example 6
| Project: apachecon-master File: Start.java View source code |
public static void main(String[] args) throws Exception {
int timeout = (int) Duration.ONE_HOUR.getMilliseconds();
Server server = new Server();
SocketConnector connector = new SocketConnector();
// Set some timeout options to make debugging easier.
connector.setMaxIdleTime(timeout);
connector.setSoLingerTime(-1);
connector.setPort(8080);
server.addConnector(connector);
// check if a keystore for a SSL certificate is available, and
// if so, start a SSL connector on port 8443. By default, the
// quickstart comes with a Apache Wicket Quickstart Certificate
// that expires about half way september 2021. Do not use this
// certificate anywhere important as the passwords are available
// in the source.
Resource keystore = Resource.newClassPathResource("/keystore");
if (keystore != null && keystore.exists()) {
connector.setConfidentialPort(8443);
SslContextFactory factory = new SslContextFactory();
factory.setKeyStoreResource(keystore);
factory.setKeyStorePassword("wicket");
factory.setTrustStore(keystore);
factory.setKeyManagerPassword("wicket");
SslSocketConnector sslConnector = new SslSocketConnector(factory);
sslConnector.setMaxIdleTime(timeout);
sslConnector.setPort(8443);
sslConnector.setAcceptors(4);
server.addConnector(sslConnector);
System.out.println("SSL access to the quickstart has been enabled on port 8443");
System.out.println("You can access the application using SSL on https://localhost:8443");
System.out.println();
}
WebAppContext bb = new WebAppContext();
bb.setServer(server);
bb.setContextPath("/");
bb.setWar("src/main/webapp");
// START JMX SERVER
// MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
// MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer);
// server.getContainer().addEventListener(mBeanContainer);
// mBeanContainer.start();
server.setHandler(bb);
try {
System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP");
server.start();
System.in.read();
System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
server.stop();
server.join();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}Example 7
| Project: cagrid2-master File: AbstractTrustManager.java View source code |
public void reload(List<TrustedCAEntry> trustedCAList) {
this.trustManager = null;
if ((trustedCAList != null) && (trustedCAList.size() > 0)) {
List<X509Certificate> certs = new ArrayList<X509Certificate>();
Set<CRL> crls = new HashSet<CRL>();
for (TrustedCAEntry ca : trustedCAList) {
certs.add(ca.getCertificate());
if (ca.getCRL() != null) {
crls.add(ca.getCRL());
}
}
try {
// load keystore from specified cert store (or default)
KeyStore ts = KeyStore.getInstance("jks");
ts.load(null);
// add all temporary certs to KeyStore (ts)
for (Certificate cert : certs) {
ts.setCertificateEntry(UUID.randomUUID().toString(), cert);
}
PKIXBuilderParameters pbParams = new PKIXBuilderParameters(ts, new X509CertSelector());
pbParams.setSigProvider("BC");
// Set maximum certification path length
pbParams.setMaxPathLength(-1);
// Make sure revocation checking is enabled
pbParams.setRevocationEnabled(isRevocationEnabled());
if (crls != null && !crls.isEmpty()) {
pbParams.addCertStore(CertStore.getInstance("Collection", new CollectionCertStoreParameters(crls)));
}
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(SslContextFactory.DEFAULT_TRUSTMANAGERFACTORY_ALGORITHM);
trustManagerFactory.init(new CertPathTrustManagerParameters(pbParams));
// acquire X509 trust manager from factory
TrustManager tms[] = trustManagerFactory.getTrustManagers();
for (int i = 0; i < tms.length; i++) {
if (tms[i] instanceof X509TrustManager) {
trustManager = (X509TrustManager) tms[i];
if (log.isDebugEnabled()) {
StringBuffer msg = new StringBuffer("Successfully loaded the trust manager with the following certificates:\n");
int count = 1;
for (X509Certificate cert : certs) {
msg.append(" (" + count + ") " + cert.getSubjectDN().getName() + "\n");
count = count + 1;
}
log.debug(msg.toString());
}
return;
}
}
throw new NoSuchAlgorithmException("No X509TrustManager in TrustManagerFactory");
} catch (Exception e) {
log.error("An unexpected error occurred reloading the trust manager:", e);
}
}
}Example 8
| Project: de.flapdoodle.wicket-master File: Start.java View source code |
public static void main(String[] args) throws Exception {
int timeout = (int) Duration.ONE_HOUR.getMilliseconds();
Server server = new Server();
SocketConnector connector = new SocketConnector();
// Set some timeout options to make debugging easier.
connector.setMaxIdleTime(timeout);
connector.setSoLingerTime(-1);
connector.setPort(8080);
server.addConnector(connector);
// check if a keystore for a SSL certificate is available, and
// if so, start a SSL connector on port 8443. By default, the
// quickstart comes with a Apache Wicket Quickstart Certificate
// that expires about half way september 2021. Do not use this
// certificate anywhere important as the passwords are available
// in the source.
Resource keystore = Resource.newClassPathResource("/keystore");
if (keystore != null && keystore.exists()) {
connector.setConfidentialPort(8443);
SslContextFactory factory = new SslContextFactory();
factory.setKeyStoreResource(keystore);
factory.setKeyStorePassword("wicket");
factory.setTrustStoreResource(keystore);
factory.setKeyManagerPassword("wicket");
SslSocketConnector sslConnector = new SslSocketConnector(factory);
sslConnector.setMaxIdleTime(timeout);
sslConnector.setPort(8443);
sslConnector.setAcceptors(4);
server.addConnector(sslConnector);
System.out.println("SSL access to the quickstart has been enabled on port 8443");
System.out.println("You can access the application using SSL on https://localhost:8443");
System.out.println();
}
WebAppContext bb = new WebAppContext();
bb.setServer(server);
bb.setContextPath("/");
bb.setWar("src/main/webapp");
// START JMX SERVER
// MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
// MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer);
// server.getContainer().addEventListener(mBeanContainer);
// mBeanContainer.start();
server.setHandler(bb);
try {
System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP");
server.start();
System.in.read();
System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
server.stop();
server.join();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}Example 9
| Project: eclipse-jetty-plugin-master File: Jetty7ServerConfiguration.java View source code |
/**
* {@inheritDoc}
*
* @see net.sourceforge.eclipsejetty.jetty.AbstractServerConfiguration#buildHttpsConfig(net.sourceforge.eclipsejetty.jetty.JettyConfigBuilder)
*/
@Override
protected void buildHttpsConfig(JettyConfigBuilder builder) {
if (getSslPort() == null) {
return;
}
builder.comment("HTTPs Config");
builder.beginNew("sslContextFactory", "org.eclipse.jetty.http.ssl.SslContextFactory");
{
builder.set("KeyStore", getKeyStorePath());
builder.set("KeyStorePassword", getKeyStorePassword());
builder.set("KeyManagerPassword", getKeyManagerPassword());
builder.set("TrustStore", getKeyStorePath());
builder.set("TrustStorePassword", getKeyStorePassword());
}
builder.end();
}Example 10
| Project: freedomotic-master File: RestJettyServer.java View source code |
public void startServer() throws Exception {
webServer = new Server();
LOG.info("Starting RestAPI Server...");
/**
* TODO WHEN MOVING TO JETTY 9 refactor connectors code and add spdy
* support
* http://download.eclipse.org/jetty/stable-9/xref/org/eclipse/jetty/embedded/SpdyConnector.html
*
*/
if (!master.configuration.getBooleanProperty("enable-ssl", false)) {
SelectChannelConnector selectChannelConnector = new SelectChannelConnector();
selectChannelConnector.setPort(master.configuration.getIntProperty("http-port", 9111));
webServer.addConnector(selectChannelConnector);
} else {
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStorePassword(master.configuration.getStringProperty("KEYSTORE_SERVER_PWD", "freedomotic"));
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(new FileInputStream(master.getFile().getParent() + "/data/" + master.configuration.getStringProperty("KEYSTORE_SERVER_FILE", "keystore_server")), master.configuration.getStringProperty("KEYSTORE_SERVER_PWD", "freedomotic").toCharArray());
sslContextFactory.setKeyStore(keyStore);
SslSelectChannelConnector sslSelectChannelConnector = new SslSelectChannelConnector(sslContextFactory);
sslSelectChannelConnector.setPort(master.configuration.getIntProperty("https-port", 9113));
webServer.addConnector(sslSelectChannelConnector);
}
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
// atmpsphere servlet
ServletHolder atmosphereServletHolder = new ServletHolder(AtmosphereServlet.class);
atmosphereServletHolder.setInitParameter("jersey.config.server.provider.packages", RestAPIv3.ATMOSPHRE_RESOURCE_PKG);
atmosphereServletHolder.setInitParameter("org.atmosphere.websocket.messageContentType", "application/json");
atmosphereServletHolder.setInitParameter("org.atmosphere.cpr.AtmosphereInterceptor", "org.atmosphere.interceptor.ShiroInterceptor");
// atmosphereServletHolder.setInitParameter("org.atmosphere.cpr.broadcasterClass", "org.atmosphere.jersey.JerseyBroadcaster");
atmosphereServletHolder.setAsyncSupported(true);
atmosphereServletHolder.setInitParameter("org.atmosphere.useWebSocket", "true");
atmosphereServletHolder.setInitOrder(2);
context.addServlet(atmosphereServletHolder, "/" + API_VERSION + "/ws/*");
// jersey servlet
ServletHolder jerseyServletHolder = new ServletHolder(ServletContainer.class);
jerseyServletHolder.setInitParameter("javax.ws.rs.Application", JerseyApplication.class.getCanonicalName());
jerseyServletHolder.setInitParameter("jersey.config.server.wadl.disableWadl", "true");
jerseyServletHolder.setInitOrder(1);
context.addServlet(jerseyServletHolder, "/" + API_VERSION + "/*");
// cors filter
if (master.configuration.getBooleanProperty("enable-cors", false)) {
FilterHolder corsFilterHolder = new FilterHolder(CrossOriginFilter.class);
corsFilterHolder.setInitParameter("allowedOrigins", master.configuration.getStringProperty("Access-Control-Allow-Origin", "*"));
corsFilterHolder.setInitParameter("allowedMethods", master.configuration.getStringProperty("Access-Control-Allow-Methods", "GET,PUT,HEAD,POST,DELETE"));
corsFilterHolder.setInitParameter("allowedHeaders", master.configuration.getStringProperty("Access-Control-Allow-Headers", "Accept,Accept-Version,Authorization,Content-Length,Content-MD5,Content-Type,Date," + "Origin,X-Access-Token,X-Api-Version,X-CSRF-Token,X-File-Name,X-Requested-With"));
corsFilterHolder.setInitParameter("allowCredentials", "true");
context.addFilter(corsFilterHolder, "/*", null);
}
// shiro filter
if (master.getApi().getAuth().isInited()) {
context.addEventListener(new ShiroListener());
context.addFilter(ShiroFilter.class, "/*", null);
}
// guice filter
context.addEventListener(guiceServletConfig);
context.addFilter(GuiceFilter.class, "/*", null);
//static files handler
String staticDir = master.configuration.getStringProperty("serve-static", "swagger");
context.setResourceBase(new File(master.getFile().getParent() + "/data/" + staticDir + "/").getAbsolutePath());
context.addServlet(DefaultServlet.class, "/*");
// serve resource files (images and so on)
ServletHolder resHolder = new ServletHolder("static-home", DefaultServlet.class);
resHolder.setInitParameter("resourceBase", Info.PATHS.PATH_RESOURCES_FOLDER.getAbsolutePath());
resHolder.setInitParameter("dirAllowed", "true");
resHolder.setInitParameter("pathInfoOnly", "true");
context.addServlet(resHolder, "/res/*");
HandlerList handlers = new HandlerList();
handlers.addHandler(context);
handlers.addHandler(new DefaultHandler());
webServer.setHandler(handlers);
webServer.start();
LOG.info("Started RestAPI Server");
}Example 11
| Project: opennms_dashboard-master File: JettyServer.java View source code |
/** {@inheritDoc} */
@Override
protected void onInit() {
Properties p = System.getProperties();
File homeDir = new File(p.getProperty("opennms.home"));
File webappsDir = new File(homeDir, "jetty-webapps");
m_server = new Server();
Connector connector = new SelectChannelConnector();
Integer port = Integer.getInteger("org.opennms.netmgt.jetty.port", m_port);
connector.setPort(port);
String host = System.getProperty("org.opennms.netmgt.jetty.host");
if (host != null) {
connector.setHost(host);
}
Integer requestHeaderSize = Integer.getInteger("org.opennms.netmgt.jetty.requestHeaderSize");
if (requestHeaderSize != null) {
connector.setRequestHeaderSize(requestHeaderSize);
}
m_server.addConnector(connector);
Integer ajp_port = Integer.getInteger("org.opennms.netmgt.jetty.ajp-port");
if (ajp_port != null) {
Ajp13SocketConnector ajpConnector = new Ajp13SocketConnector();
ajpConnector.setPort(ajp_port);
// Apache AJP connector freaks out with anything larger
ajpConnector.setHeaderBufferSize(8096);
m_server.addConnector(ajpConnector);
}
Integer https_port = Integer.getInteger("org.opennms.netmgt.jetty.https-port");
if (https_port != null) {
String keyStorePath = System.getProperty("org.opennms.netmgt.jetty.https-keystore", homeDir + File.separator + "etc" + File.separator + "examples" + File.separator + "jetty.keystore");
String keyStorePassword = System.getProperty("org.opennms.netmgt.jetty.https-keystorepassword", "changeit");
String keyManagerPassword = System.getProperty("org.opennms.netmgt.jetty.https-keypassword", "changeit");
SslContextFactory contextFactory = new SslContextFactory(keyStorePath);
contextFactory.setKeyStorePassword(keyStorePassword);
contextFactory.setKeyManagerPassword(keyManagerPassword);
excludeCipherSuites(contextFactory, https_port);
SslSocketConnector sslConnector = new SslSocketConnector(contextFactory);
sslConnector.setPort(https_port);
String httpsHost = System.getProperty("org.opennms.netmgt.jetty.https-host");
if (httpsHost != null) {
sslConnector.setHost(httpsHost);
}
m_server.addConnector(sslConnector);
}
HandlerCollection handlers = new HandlerCollection();
if (webappsDir.exists()) {
File rootDir = null;
for (File file : webappsDir.listFiles()) {
if (file.isDirectory()) {
String contextPath;
if ("ROOT".equals(file.getName())) {
// Defer this to last to avoid nested context order problems
rootDir = file;
continue;
} else {
contextPath = "/" + file.getName();
}
addContext(handlers, file, contextPath);
registerService(port, contextPath);
}
}
if (rootDir != null) {
// If we deferred a ROOT context, handle that now
addContext(handlers, rootDir, "/");
registerService(port, "/");
}
}
m_server.setHandler(handlers);
m_server.setStopAtShutdown(true);
}Example 12
| Project: run-jetty-run-master File: Bootstrap.java View source code |
private static void initSSL(Server server, int sslport, String keystore, String password, String keyPassword, boolean needClientAuth) {
if (keystore == null) {
throw new IllegalStateException("you need to provide argument -Drjrkeystore with -Drjrsslport");
}
if (password == null) {
throw new IllegalStateException("you need to provide argument -Drjrpassword with -Drjrsslport");
}
if (keyPassword == null) {
throw new IllegalStateException("you need to provide argument -Drjrkeypassword with -Drjrsslport");
}
SslContextFactory sslcontextfactory = new SslContextFactory();
sslcontextfactory.setKeyStore(keystore);
sslcontextfactory.setKeyStorePassword(password);
sslcontextfactory.setKeyManagerPassword(keyPassword);
if (needClientAuth) {
System.err.println("Enable NeedClientAuth.");
sslcontextfactory.setNeedClientAuth(needClientAuth);
}
SslSelectChannelConnector sslConnector = new SslSelectChannelConnector(sslcontextfactory);
sslConnector.setMaxIdleTime(30000);
sslConnector.setPort(sslport);
server.addConnector(sslConnector);
}Example 13
| Project: i2p.i2p-master File: MigrateJetty.java View source code |
/**
* Migrate a jetty.xml file to Jetty 9.
* Unlike above, where we just migrate the new install file over for Jetty 9,
* here we modify the xml file in-place to preserve settings where possible.
*
* @return success
* @since Jetty 9
*/
private static boolean migrateToJetty9(File xmlFile) {
if (xmlFile.getName().equals("jetty-jmx.xml")) {
// This is lazy but nobody's using jmx, not worth the trouble
System.err.println("ERROR: Migration of " + xmlFile + " file is not supported. Copy new file from $I2P/eepsite-jetty9/jetty-jmx.xml");
return false;
}
// we don't re-migrate from the template, we just add the
// necessary args for the QueuedThreadPool constructor in-place
// and fixup the renamed set call
boolean modified = false;
File eepsite = xmlFile.getParentFile();
File newFile = new File(eepsite, xmlFile.getName() + System.currentTimeMillis() + ".tmp");
FileInputStream in = null;
PrintWriter out = null;
try {
in = new FileInputStream(xmlFile);
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new SecureFileOutputStream(newFile), "UTF-8")));
String s;
boolean foundQTP = false;
boolean foundSTP = false;
boolean foundETP = false;
boolean foundSCC = false;
boolean foundHC = false;
boolean foundSSCC = false;
while ((s = DataHelper.readLine(in)) != null) {
// readLine() doesn't strip \r
if (s.endsWith("\r"))
s = s.substring(0, s.length() - 1);
if (s.contains("Modified by I2P migration script for Jetty 9.") || s.contains("This configuration supports Jetty 9.") || s.contains("http://www.eclipse.org/jetty/configure_9_0.dtd")) {
if (!modified)
break;
// else we've modified it twice?
} else if (s.contains("org.eclipse.jetty.util.thread.QueuedThreadPool")) {
foundQTP = true;
} else if (foundQTP) {
if (!(s.contains("Modified by") || s.contains("<Arg type=\"int\">"))) {
out.println(" <!-- Modified by I2P migration script for Jetty 9. Do not remove this line -->");
out.println(" <Arg type=\"int\">20</Arg> <!-- maxThreads, overridden below -->");
out.println(" <Arg type=\"int\">3</Arg> <!-- minThreads, overridden below -->");
out.println(" <Arg type=\"int\">60000</Arg> <!-- maxIdleTimeMs, overridden below -->");
modified = true;
}
foundQTP = false;
}
if (s.contains("<Set name=\"maxIdleTimeMs\">")) {
// <Set name="maxIdleTimeMs">60000</Set>
s = s.replace("<Set name=\"maxIdleTimeMs\">", "<Set name=\"idleTimeout\">");
modified = true;
} else if (s.contains("<Set name=\"ThreadPool\">")) {
// <Set name="ThreadPool">, must be changed to constructor arg
out.println(" <!-- Modified by I2P migration script for Jetty 9. Do not remove this line -->");
s = s.replace("<Set name=\"ThreadPool\">", "<Arg>");
foundSTP = true;
modified = true;
} else if (foundSTP && !foundETP && s.contains("</Set>") && !s.contains("<Set")) {
// </Set> (close of <Set name="ThreadPool">)
// All the lines above have <Set>...</Set> on the same line, if they don't, this will break.
s = s.replace("</Set>", "</Arg>");
foundETP = true;
} else if (s.contains("org.eclipse.jetty.server.nio.SelectChannelConnector")) {
s = s.replace("org.eclipse.jetty.server.nio.SelectChannelConnector", "org.eclipse.jetty.server.ServerConnector");
out.println(" <!-- Modified by I2P migration script for Jetty 9. Do not remove this line -->");
out.println(s);
out.println(" <Arg><Ref id=\"Server\" /></Arg>");
out.println(" <Arg type=\"int\">1</Arg> <!-- number of acceptors -->");
out.println(" <Arg type=\"int\">0</Arg> <!-- default number of selectors -->");
out.println(" <Arg>");
out.println(" <Array type=\"org.eclipse.jetty.server.ConnectionFactory\"> <!-- varargs so we need an array -->");
out.println(" <Item>");
out.println(" <New class=\"org.eclipse.jetty.server.HttpConnectionFactory\">");
out.println(" <Arg>");
out.println(" <New class=\"org.eclipse.jetty.server.HttpConfiguration\">");
out.println(" <Set name=\"sendServerVersion\">false</Set>");
out.println(" <Set name=\"sendDateHeader\">true</Set>");
out.println(" </New>");
out.println(" </Arg>");
out.println(" </New>");
out.println(" </Item>");
out.println(" </Array>");
out.println(" </Arg>");
modified = true;
continue;
// SSL starts here
} else if (s.contains("org.eclipse.jetty.http.ssl.SslContextFactory")) {
s = s.replace("org.eclipse.jetty.http.ssl.SslContextFactory", "org.eclipse.jetty.util.ssl.SslContextFactory");
out.println(" <!-- Modified by I2P migration script for Jetty 9. Do not remove this line -->");
out.println(s);
// don't try to migrate from below, just generate a new list
out.println(" <Set name=\"ExcludeCipherSuites\">");
out.println(" <Array type=\"java.lang.String\">");
for (String ss : I2PSSLSocketFactory.EXCLUDE_CIPHERS) {
out.println(" <Item>" + ss + "</Item>");
}
out.println(" </Array>");
out.println(" </Set>");
out.println(" <Set name=\"ExcludeProtocols\">");
out.println(" <Array type=\"java.lang.String\">");
for (String ss : I2PSSLSocketFactory.EXCLUDE_PROTOCOLS) {
out.println(" <Item>" + ss + "</Item>");
}
out.println(" </Array>");
out.println(" </Set>");
modified = true;
continue;
} else if (s.contains("org.eclipse.jetty.server.ssl.SslSelectChannelConnector")) {
s = s.replace("org.eclipse.jetty.server.ssl.SslSelectChannelConnector", "org.eclipse.jetty.server.ServerConnector");
out.println(" <!-- Modified by I2P migration script for Jetty 9. Do not remove this line -->");
out.println(s);
out.println(" <Arg><Ref id=\"Server\" /></Arg>");
out.println(" <Arg type=\"int\">1</Arg> <!-- number of acceptors -->");
out.println(" <Arg type=\"int\">0</Arg> <!-- default number of selectors -->");
out.println(" <Arg>");
out.println(" <Array type=\"org.eclipse.jetty.server.ConnectionFactory\"> <!-- varargs so we need an array -->");
out.println(" <Item>");
out.println(" <New class=\"org.eclipse.jetty.server.SslConnectionFactory\">");
out.println(" <Arg><Ref id=\"sslContextFactory\" /></Arg>");
out.println(" <Arg>http/1.1</Arg>");
out.println(" </New>");
out.println(" </Item>");
out.println(" <Item>");
out.println(" <New class=\"org.eclipse.jetty.server.HttpConnectionFactory\">");
out.println(" <Arg>");
out.println(" <New class=\"org.eclipse.jetty.server.HttpConfiguration\">");
out.println(" <Set name=\"sendServerVersion\">false</Set>");
out.println(" <Set name=\"sendDateHeader\">true</Set>");
out.println(" </New>");
out.println(" </Arg>");
out.println(" </New>");
out.println(" </Item>");
out.println(" </Array>");
out.println(" </Arg>");
foundSSCC = true;
modified = true;
continue;
} else if (foundSSCC && s.contains("<Set name=\"ExcludeCipherSuites\">")) {
// delete the old ExcludeCipherSuites in this section
do {
s = DataHelper.readLine(in);
} while (s != null && !s.contains("</Set>"));
modified = true;
continue;
} else if (foundSSCC && s.contains("<Ref id=\"sslContextFactory\"")) {
// delete old one in this section, replaced above
modified = true;
continue;
} else if (s.contains("<Set name=\"KeyStore\">")) {
s = s.replace("<Set name=\"KeyStore\">", "<Set name=\"KeyStorePath\">");
modified = true;
} else if (s.contains("<Set name=\"TrustStore\">")) {
s = s.replace("<Set name=\"TrustStore\">", "<Set name=\"TrustStorePath\">");
modified = true;
// SSL ends here
} else if (s.contains("class=\"org.eclipse.jetty.deploy.providers.ContextProvider\">")) {
// WebAppProvider now also does what ContextProvider used to do
out.println(" <!-- Modified by I2P migration script for Jetty 9. Do not remove this line -->");
s = s.replace("class=\"org.eclipse.jetty.deploy.providers.ContextProvider\">", "class=\"org.eclipse.jetty.deploy.providers.WebAppProvider\">");
modified = true;
} else if (s.contains("<Set name=\"maxIdleTime\">")) {
s = s.replace("<Set name=\"maxIdleTime\">", "<Set name=\"idleTimeout\">");
modified = true;
} else if (s.contains("<Set name=\"gracefulShutdown\">")) {
s = s.replace("<Set name=\"gracefulShutdown\">", "<Set name=\"stopTimeout\">");
modified = true;
} else if (s.contains("org.eclipse.jetty.server.HttpConfiguration")) {
foundHC = true;
} else if (!foundHC && (s.contains("<Set name=\"sendServerVersion\">") || s.contains("<Set name=\"sendDateHeader\">"))) {
// old ones for Server, not in HTTPConfiguration section, delete
modified = true;
continue;
} else if (s.contains("<Set name=\"Acceptors\">") || s.contains("<Set name=\"acceptors\">") || s.contains("<Set name=\"statsOn\">") || s.contains("<Set name=\"confidentialPort\">") || s.contains("<Set name=\"lowResourcesConnections\">") || s.contains("<Set name=\"lowResourcesMaxIdleTime\">") || s.contains("<Set name=\"useDirectBuffers\">")) {
// delete
modified = true;
continue;
}
out.println(s);
}
} catch (IOException ioe) {
if (in != null) {
System.err.println("FAILED migration of " + xmlFile + ": " + ioe);
}
return false;
} finally {
if (in != null)
try {
in.close();
} catch (IOException ioe) {
}
if (out != null)
out.close();
}
if (modified) {
return FileUtil.rename(newFile, xmlFile);
} else {
newFile.delete();
return true;
}
}Example 14
| Project: buffano-master File: IJettyService.java View source code |
protected void configureConnectors() {
if (server != null) {
if (_useNIO) {
SelectChannelConnector nioConnector = new SelectChannelConnector();
nioConnector.setUseDirectBuffers(false);
nioConnector.setPort(_port);
server.addConnector(nioConnector);
Log.i(TAG, "Configured " + SelectChannelConnector.class.getName() + " on port " + _port);
} else {
SocketConnector bioConnector = new SocketConnector();
bioConnector.setPort(_port);
server.addConnector(bioConnector);
Log.i(TAG, "Configured " + SocketConnector.class.getName() + " on port " + _port);
}
if (_useSSL) {
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStore(_keystoreFile);
sslContextFactory.setTrustStore(_truststoreFile);
sslContextFactory.setKeyStorePassword(_keystorePassword);
sslContextFactory.setKeyManagerPassword(_keymgrPassword);
sslContextFactory.setKeyStoreType("bks");
sslContextFactory.setTrustStorePassword(_truststorePassword);
sslContextFactory.setTrustStoreType("bks");
//TODO SslSelectChannelConnector does not work on android 1.6, but does work on android 2.2
if (_useNIO) {
SslSelectChannelConnector sslConnector = new SslSelectChannelConnector(sslContextFactory);
sslConnector.setPort(_sslPort);
server.addConnector(sslConnector);
Log.i(TAG, "Configured " + sslConnector.getClass().getName() + " on port " + _sslPort);
} else {
SslSocketConnector sslConnector = new SslSocketConnector(sslContextFactory);
sslConnector.setPort(_sslPort);
server.addConnector(sslConnector);
Log.i(TAG, "Configured " + sslConnector.getClass().getName() + " on port " + _sslPort);
}
}
}
}Example 15
| Project: i-jetty-master File: IJettyService.java View source code |
protected void configureConnectors() {
if (server != null) {
if (_useNIO) {
SelectChannelConnector nioConnector = new SelectChannelConnector();
nioConnector.setUseDirectBuffers(false);
nioConnector.setPort(_port);
server.addConnector(nioConnector);
Log.i(TAG, "Configured " + SelectChannelConnector.class.getName() + " on port " + _port);
} else {
SocketConnector bioConnector = new SocketConnector();
bioConnector.setPort(_port);
server.addConnector(bioConnector);
Log.i(TAG, "Configured " + SocketConnector.class.getName() + " on port " + _port);
}
if (_useSSL) {
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStore(_keystoreFile);
sslContextFactory.setTrustStore(_truststoreFile);
sslContextFactory.setKeyStorePassword(_keystorePassword);
sslContextFactory.setKeyManagerPassword(_keymgrPassword);
sslContextFactory.setKeyStoreType("bks");
sslContextFactory.setTrustStorePassword(_truststorePassword);
sslContextFactory.setTrustStoreType("bks");
//TODO SslSelectChannelConnector does not work on android 1.6, but does work on android 2.2
if (_useNIO) {
SslSelectChannelConnector sslConnector = new SslSelectChannelConnector(sslContextFactory);
sslConnector.setPort(_sslPort);
server.addConnector(sslConnector);
Log.i(TAG, "Configured " + sslConnector.getClass().getName() + " on port " + _sslPort);
} else {
SslSocketConnector sslConnector = new SslSocketConnector(sslContextFactory);
sslConnector.setPort(_sslPort);
server.addConnector(sslConnector);
Log.i(TAG, "Configured " + sslConnector.getClass().getName() + " on port " + _sslPort);
}
}
}
}Example 16
| Project: ShareFV-master File: IJettyService.java View source code |
protected void configureConnectors() {
if (server != null) {
if (_useNIO) {
SelectChannelConnector nioConnector = new SelectChannelConnector();
nioConnector.setUseDirectBuffers(false);
nioConnector.setPort(_port);
server.addConnector(nioConnector);
Log.i(TAG, "Configured " + SelectChannelConnector.class.getName() + " on port " + _port);
} else {
SocketConnector bioConnector = new SocketConnector();
bioConnector.setPort(_port);
server.addConnector(bioConnector);
Log.i(TAG, "Configured " + SocketConnector.class.getName() + " on port " + _port);
}
if (_useSSL) {
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStore(_keystoreFile);
sslContextFactory.setTrustStore(_truststoreFile);
sslContextFactory.setKeyStorePassword(_keystorePassword);
sslContextFactory.setKeyManagerPassword(_keymgrPassword);
sslContextFactory.setKeyStoreType("bks");
sslContextFactory.setTrustStorePassword(_truststorePassword);
sslContextFactory.setTrustStoreType("bks");
// but does work on android 2.2
if (_useNIO) {
SslSelectChannelConnector sslConnector = new SslSelectChannelConnector(sslContextFactory);
sslConnector.setPort(_sslPort);
server.addConnector(sslConnector);
Log.i(TAG, "Configured " + sslConnector.getClass().getName() + " on port " + _sslPort);
} else {
SslSocketConnector sslConnector = new SslSocketConnector(sslContextFactory);
sslConnector.setPort(_sslPort);
server.addConnector(sslConnector);
Log.i(TAG, "Configured " + sslConnector.getClass().getName() + " on port " + _sslPort);
}
}
}
}Example 17
| Project: show-client-master File: IJettyService.java View source code |
protected void configureConnectors() {
if (server != null) {
if (_useNIO) {
SelectChannelConnector nioConnector = new SelectChannelConnector();
nioConnector.setUseDirectBuffers(false);
nioConnector.setPort(_port);
server.addConnector(nioConnector);
Log.i(TAG, "Configured " + SelectChannelConnector.class.getName() + " on port " + _port);
} else {
SocketConnector bioConnector = new SocketConnector();
bioConnector.setPort(_port);
server.addConnector(bioConnector);
Log.i(TAG, "Configured " + SocketConnector.class.getName() + " on port " + _port);
}
if (_useSSL) {
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStore(_keystoreFile);
sslContextFactory.setTrustStore(_truststoreFile);
sslContextFactory.setKeyStorePassword(_keystorePassword);
sslContextFactory.setKeyManagerPassword(_keymgrPassword);
sslContextFactory.setKeyStoreType("bks");
sslContextFactory.setTrustStorePassword(_truststorePassword);
sslContextFactory.setTrustStoreType("bks");
//TODO SslSelectChannelConnector does not work on android 1.6, but does work on android 2.2
if (_useNIO) {
SslSelectChannelConnector sslConnector = new SslSelectChannelConnector(sslContextFactory);
sslConnector.setPort(_sslPort);
server.addConnector(sslConnector);
Log.i(TAG, "Configured " + sslConnector.getClass().getName() + " on port " + _sslPort);
} else {
SslSocketConnector sslConnector = new SslSocketConnector(sslContextFactory);
sslConnector.setPort(_sslPort);
server.addConnector(sslConnector);
Log.i(TAG, "Configured " + sslConnector.getClass().getName() + " on port " + _sslPort);
}
}
}
}Example 18
| Project: Wave-master File: ServerRpcProvider.java View source code |
/**
* @return a list of {@link SelectChannelConnector} each bound to a host:port
* pair form the list addresses.
*/
private List<SelectChannelConnector> getSelectChannelConnectors(InetSocketAddress[] httpAddresses) {
List<SelectChannelConnector> list = Lists.newArrayList();
String[] excludeCiphers = { "SSL_RSA_EXPORT_WITH_RC4_40_MD5", "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA", "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", "SSL_RSA_WITH_DES_CBC_SHA", "SSL_DHE_RSA_WITH_DES_CBC_SHA", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" };
SslContextFactory sslContextFactory = null;
if (sslEnabled) {
Preconditions.checkState(sslKeystorePath != null && !sslKeystorePath.isEmpty(), "SSL Keystore path left blank");
Preconditions.checkState(sslKeystorePassword != null && !sslKeystorePassword.isEmpty(), "SSL Keystore password left blank");
sslContextFactory = new SslContextFactory(sslKeystorePath);
sslContextFactory.setKeyStorePassword(sslKeystorePassword);
sslContextFactory.setAllowRenegotiate(false);
sslContextFactory.setExcludeCipherSuites(excludeCiphers);
}
for (InetSocketAddress address : httpAddresses) {
SelectChannelConnector connector;
if (sslEnabled) {
connector = new SslSelectChannelConnector(sslContextFactory);
} else {
connector = new SelectChannelConnector();
}
connector.setHost(address.getAddress().getHostAddress());
connector.setPort(address.getPort());
connector.setMaxIdleTime(0);
list.add(connector);
}
return list;
}Example 19
| Project: OpenADK-java-master File: HttpTransport.java View source code |
/**
* Configure the Jetty server for HTTPS as needed based on the settings of
* this Transport object. If the server does not have a JSSEListener on the
* port specified for this transport, one is created. Jetty configuration is
* performed dynamically as HttpTransport and HttpsTransport objects are
* created, so listeners are added to the server the first time they are
* needed.
* @return A SocketListener if a new one was created, or null
*/
protected SocketConnector configureHttps(Zone zone) throws ADKTransportException {
int port = getPort();
if (port == -1) {
throw new ADKTransportException("The agent is not configured with a default HTTPS port", zone);
}
String optHost = getHost();
// If there is no SunJsseListener on this port, create one
Connector listener = null;
Connector[] listeners = sServer.getConnectors();
for (int i = 0; i < listeners.length; i++) {
if (listeners[i] instanceof SocketConnector && listeners[i].getPort() == port) {
if (optHost != null && listeners[i].getHost().equalsIgnoreCase(optHost))
listener = listeners[i];
}
}
if (listener == null) {
try {
String ks = getKeyStore();
String ksPwd = getKeyStorePassword();
if ((ADK.debug & ADK.DBG_TRANSPORT) != 0 && log.isInfoEnabled()) {
if (optHost == null) {
log.info("Creating HTTPS listener for push mode on port " + port);
} else {
log.info("Creating HTTPS listener for push mode on " + optHost + ":" + port);
}
if (ks == null) {
log.info("Using default Java keystore");
} else {
log.info("Using keystore: " + ks);
}
if (ksPwd.equals("changeit"))
log.info("Using default Java keystore password 'changeit'");
if (fProps instanceof HttpsProperties)
log.info("Requiring client authentication: " + (((HttpsProperties) fProps).getRequireClientAuth() ? "yes" : "no"));
}
final SslSocketConnector https = new SslSocketConnector();
configureSocketListener(https, port, optHost);
final SslContextFactory httpsContext = https.getSslContextFactory();
if (ks != null)
httpsContext.setKeyStore(ks);
httpsContext.setKeyManagerPassword(ksPwd);
String pwd = getPassword();
if (pwd == null) {
httpsContext.setKeyStorePassword(ksPwd);
} else {
httpsContext.setKeyStorePassword(pwd);
}
HttpsProperties httpsProps = (HttpsProperties) fProps;
String ts = httpsProps.getTrustStore();
String tsPwd = httpsProps.getTrustStorePassword();
if (tsPwd == null)
tsPwd = "changeit";
if (ts != null) {
File tsFile = new File(ts);
if (!tsFile.exists())
throw new ADKTransportException("Truststore file not found: " + tsFile.getAbsolutePath(), zone);
log.info("(HttpTransport) Using truststore: " + tsFile.getAbsolutePath());
System.setProperty("javax.net.ssl.trustStore", ts);
System.setProperty("javax.net.ssl.trustStorePassword", tsPwd);
} else {
log.info("Using default Java truststore");
}
if (fProps instanceof HttpsProperties) {
httpsContext.setNeedClientAuth(((HttpsProperties) fProps).getRequireClientAuth());
}
return https;
} catch (Exception ioe) {
throw new ADKTransportException("Error configuring HTTPS transport: " + ioe, zone);
}
} else {
if ((ADK.debug & ADK.DBG_TRANSPORT) != 0 && log.isDebugEnabled()) {
if (optHost != null) {
log.debug("Already a HTTPS listener on " + optHost + ":" + port);
} else {
log.debug("Already a HTTPS listener on port " + port);
}
}
}
return null;
}