Guest User

Untitled

a guest
Jul 9th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. import javax.servlet.http.HttpServletRequest;
  2. import javax.servlet.http.HttpServletResponse;
  3. import javax.servlet.ServletException;
  4.  
  5. import java.io.IOException;
  6. import java.security.KeyStore;
  7. import java.security.Provider;
  8. import java.security.Security;
  9.  
  10. import org.eclipse.jetty.server.HttpConfiguration;
  11. import org.eclipse.jetty.server.HttpConnectionFactory;
  12. import org.eclipse.jetty.server.SecureRequestCustomizer;
  13. import org.eclipse.jetty.server.Server;
  14. import org.eclipse.jetty.server.ServerConnector;
  15. import org.eclipse.jetty.server.Request;
  16. import org.eclipse.jetty.server.handler.AbstractHandler;
  17.  
  18. import com.code42.FIPSSslContextFactory;
  19.  
  20. public class HelloNSS11 extends AbstractHandler
  21. {
  22. public void handle(String target,
  23. Request baseRequest,
  24. HttpServletRequest request,
  25. HttpServletResponse response)
  26. throws IOException, ServletException
  27. {
  28. response.setContentType("text/html;charset=utf-8");
  29. response.setStatus(HttpServletResponse.SC_OK);
  30. baseRequest.setHandled(true);
  31. response.getWriter().println("<h1>Hello World</h1>");
  32. }
  33.  
  34. public static void main(String[] args) throws Exception
  35. {
  36. Server server = new Server(8080);
  37.  
  38. String configName = "/tmp/pkcs11.cfg";
  39. Provider pkcs11 = Security.getProvider("SunPKCS11");
  40. Provider nss = pkcs11.configure(configName);
  41. Security.addProvider(nss);
  42. Provider jsse = new org.openjsse.net.ssl.OpenJSSE(nss);
  43. Security.addProvider(jsse);
  44.  
  45. KeyStore ks = KeyStore.getInstance("PKCS11", "SunPKCS11-NSSfips");
  46. ks.load(null, args[0].toCharArray());
  47.  
  48. FIPSSslContextFactory sslContextFactory = new FIPSSslContextFactory();
  49. sslContextFactory.setKeyStore(ks);
  50.  
  51. // SSL HTTP Configuration
  52. HttpConfiguration https_config = new HttpConfiguration();
  53. https_config.addCustomizer(new SecureRequestCustomizer());
  54.  
  55. // SSL Connector
  56. ServerConnector sslConnector = new ServerConnector(
  57. server,
  58. sslContextFactory,
  59. new HttpConnectionFactory(https_config)
  60. );
  61. sslConnector.setPort(8443);
  62. server.addConnector(sslConnector);
  63.  
  64. server.setHandler(new HelloNSS11());
  65.  
  66. server.start();
  67. server.join();
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment