ApacheTomcatSSL

Crear un certificado para Tomcat #

Para los certificados en Tomcat utilizaremos la aplicación de java keytool.

Creamos en primer lugar la llave (.key):

$ keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.key
Escriba la contraseña del almacén de claves: [changeit]
Volver a escribir la contraseña nueva: [changeit]
¿Cuáles son su nombre y su apellido?
  [Unknown]: Phillip J. Fry
¿Cuál es el nombre de su unidad de organización?
  [Unknown]:  IT
¿Cuál es el nombre de su organización?
  [Unknown]:  zylk.net
¿Cuál es el nombre de su ciudad o localidad?
  [Unknown]:  Bilbao
¿Cuál es el nombre de su estado o provincia?
  [Unknown]:  Bizkaia
¿Cuál es el código de país de dos letras de la unidad?
  [Unknown]:  ES
¿Es correcto CN=Phillip J. Fry, OU=IT, O=zylk.net, L=Bilbao, ST=Bizkaia, C=ES?
  [no]:  si

Importamos el CSR:

$ keytool -certreq -keyalg RSA -alias tomcat -file tomcat.csr -keystore tomcat.key

Crear un conector SSL en el Tomcat #

$ vim conf/server.xml

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
           port="8443" keystoreFile="tomcat.key" minProcessors="5" maxProcessors="75"
           enableLookups="false" disableUploadTimeout="true"
           acceptCount="100" debug="0" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"/>

Por defecto, Tomcat se espera un keystoreFile llamado .keystore con keystorePass changeit. Si no ambos parámetros tienen que definirse en la configuración del conector.

Apache y Tomcat seguros #

Otra posibilidad es quitar el conector HTTP del Tomcat en 8080, y que sea el Apache el que utilice https, comunicandos con el Tomcat via mod_jk con AJP.

Para eso necesitamos un certificado para Apache. Primero instalamos

$ aptitude install openssl

Posteriormente generamos las llaves (.key):

$ openssl genrsa -out tomcat-apr.key 1024

y creamos el certificado raíz (.csr):

$ openssl req -new -key tomcat-apr.key -out tomcat-apr.csr

Por último firmamos el certificado:

$ #openssl ca -config openssl.cnf -in tomcat-apr.csr -out tomcat-apr.crt
$ openssl x509 -req -days 365 -in tomcat-apr.csr -signkey tomcat-apr.key -out tomcat-apr.crt

Otra posibilidad en Ubuntu (para hacer los tres pasos en uno) es utilizar el script make-ssl-cert

$ aptitude install ssl-cert
$ mkdir /etc/apache2/ssl/
$ /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/nagios-apache.pem

En Ubuntu 6.06 se llama apache2-ssl-certificate

Promedio (0 Votos)
Comentarios