Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.ServletException;
- import java.io.IOException;
- import java.security.KeyStore;
- import java.security.Provider;
- import java.security.Security;
- import org.eclipse.jetty.server.HttpConfiguration;
- import org.eclipse.jetty.server.HttpConnectionFactory;
- import org.eclipse.jetty.server.SecureRequestCustomizer;
- import org.eclipse.jetty.server.Server;
- import org.eclipse.jetty.server.ServerConnector;
- import org.eclipse.jetty.server.Request;
- import org.eclipse.jetty.server.handler.AbstractHandler;
- import com.code42.FIPSSslContextFactory;
- public class HelloNSS11 extends AbstractHandler
- {
- public void handle(String target,
- Request baseRequest,
- HttpServletRequest request,
- HttpServletResponse response)
- throws IOException, ServletException
- {
- response.setContentType("text/html;charset=utf-8");
- response.setStatus(HttpServletResponse.SC_OK);
- baseRequest.setHandled(true);
- response.getWriter().println("<h1>Hello World</h1>");
- }
- public static void main(String[] args) throws Exception
- {
- Server server = new Server(8080);
- String configName = "/tmp/pkcs11.cfg";
- Provider pkcs11 = Security.getProvider("SunPKCS11");
- Provider nss = pkcs11.configure(configName);
- Security.addProvider(nss);
- Provider jsse = new org.openjsse.net.ssl.OpenJSSE(nss);
- Security.addProvider(jsse);
- KeyStore ks = KeyStore.getInstance("PKCS11", "SunPKCS11-NSSfips");
- ks.load(null, args[0].toCharArray());
- FIPSSslContextFactory sslContextFactory = new FIPSSslContextFactory();
- sslContextFactory.setKeyStore(ks);
- // SSL HTTP Configuration
- HttpConfiguration https_config = new HttpConfiguration();
- https_config.addCustomizer(new SecureRequestCustomizer());
- // SSL Connector
- ServerConnector sslConnector = new ServerConnector(
- server,
- sslContextFactory,
- new HttpConnectionFactory(https_config)
- );
- sslConnector.setPort(8443);
- server.addConnector(sslConnector);
- server.setHandler(new HelloNSS11());
- server.start();
- server.join();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment