analytics

Mostrando entradas con la etiqueta Tomcat certificado pem. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tomcat certificado pem. Mostrar todas las entradas

lunes, 21 de agosto de 2017

Tomcat embebido https


Vamos a configurar Tomcat desde Java (embebido) para utilizar un certificado de seguridad y poder acceder de manera segura a las aplicaciones que despliegue nuestro Tomcat. (vía HTTPS)

En nuestra función principal o Main:
.....
                Tomcat tomcat = new Tomcat();
                tomcat = new Tomcat();
                
                Service service = tomcat.getService();
                service.addConnector(getSslConnector());

                tomcat.getHost().setAutoDeploy(true);
                tomcat.getHost().setDeployOnStartup(true);
                tomcat.start();
             
                tomcat.getServer().await();
....

La función de configuración del service de Tomcat: (en función de la extensión de nuestro certificado, la keyStoreType tomará el valor de PEM, JKS o PKCS12)


private static Connector getSslConnector() {
    Connector connector = new Connector();
    connector.setPort(8090);
    connector.setSecure(true);
    connector.setScheme("https");
    connector.setAttribute("keyAlias", "tomcat");
    connector.setAttribute("keystorePass", "password");
//    connector.setAttribute("keystoreType", "JKS");
    connector.setAttribute("keystoreType", "PEM");
//    connector.setAttribute("keystoreType", "PKCS12");
    connector.setAttribute("keystoreFile", "private.pem");
    connector.setAttribute("clientAuth", "false");
    connector.setAttribute("protocol", "HTTP/1.1");
    connector.setAttribute("sslProtocol", "TLS");
    connector.setAttribute("maxThreads", "200");
    connector.setAttribute("protocol", "org.apache.coyote.http11.Http11AprProtocol");
    connector.setAttribute("SSLEnabled", true);
    return connector;

}

Una manera más moderna de hacer esto es con Spring Boot, donde además encontraremos más tutoriales y nos dará menos problemas. Aquí y Aquí tienes otros posts relativos a Spring Boot y Tomcat.