blob: a04f779fffbb721074fa4eae959dd41017026297 [file] [log] [blame]
package org.eclipse.jetty.exssl;
import java.io.File;
import java.lang.reflect.Constructor;
import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.io.SslContextFactory;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.server.ssl.SslConnector;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
import org.junit.Ignore;
public abstract class SslValidationTestBase extends SslContentExchangeTest
{
protected static Class<? extends SslConnector> __klass;
protected static int __konnector;
@Override
protected void configureServer(Server server)
throws Exception
{
setProtocol("https");
// certificate is valid until Jan 1, 2050
String keypath = MavenTestingUtils.getTestResourceFile("jetty-valid.keystore").getAbsolutePath();
String trustpath = new File(System.getProperty("java.home"),"./lib/security/cacerts").getAbsolutePath();
String crlpath = MavenTestingUtils.getTestResourceFile("crlfile.pem").getAbsolutePath();
SslContextFactory srvFactory = new SslContextFactory();
srvFactory.setValidateCerts(true);
srvFactory.setKeystore(keypath);
srvFactory.setKeystorePassword("webtide");
srvFactory.setKeyManagerPassword("webtide");
srvFactory.setTruststore(trustpath);
srvFactory.setTruststorePassword("changeit");
srvFactory.setCrlPath(crlpath);
Constructor<? extends SslConnector> constructor = __klass.getConstructor(SslContextFactory.class);
SslConnector connector = constructor.newInstance(srvFactory);
connector.setMaxIdleTime(5000);
server.addConnector(connector);
Handler handler = new TestHandler(getBasePath());
ServletContextHandler root = new ServletContextHandler();
root.setContextPath("/");
root.setResourceBase(getBasePath());
ServletHolder servletHolder = new ServletHolder( new DefaultServlet() );
servletHolder.setInitParameter( "gzip", "true" );
root.addServlet( servletHolder, "/*" );
HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[]{handler, root});
server.setHandler( handlers );
}
@Override
protected void configureClient(HttpClient client)
throws Exception
{
String trustpath = new File(System.getProperty("java.home"),"./lib/security/cacerts").getAbsolutePath();
client.setTrustStoreLocation(trustpath);
client.setTrustStorePassword("changeit");
client.setConnectorType(__konnector);
}
}