Programas necesarios
1. Java JRE
2. Tomcat 7.0
Creacion del keystore
¿Qué es un keystore?
Es un "contenedor" de los certificados de seguridad para uso del servidor java , en este caso tomcat 7.0 ,es decir , un archivo que va a servir para guardar los certificado que usa el servidor web a la hora de usar el protocolo HTTPS.
Para habilitar el uso de conexiones seguras por el protocolo https en tomcat seguiremos los siguientes pasos:
Primero procederemos a crear el denominado keystore de certificados para tomcat , es decir , el almacén de claves donde se encuentran los certificados que va a usar nuestro servidor.
Para ello al estar tomcat programado en java, podemos usar una herramienta contenida en el JDK de java,esta herramienta es la keytool.
Crearemos el keystore de la siguiente forma.
Para habilitar el uso de conexiones seguras por el protocolo https en tomcat seguiremos los siguientes pasos:
Primero procederemos a crear el denominado keystore de certificados para tomcat , es decir , el almacén de claves donde se encuentran los certificados que va a usar nuestro servidor.
Para ello al estar tomcat programado en java, podemos usar una herramienta contenida en el JDK de java,esta herramienta es la keytool.
Crearemos el keystore de la siguiente forma.
1. Abrimos el cmd
2. Introducimos el comando
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA -keystore
\path\to\my\keystore
(Java home es la ruta
donde está instalado java)
*Si no sabemos o no queremos usar java home haremos lo que sigue
*Si no sabemos o no queremos usar java home haremos lo que sigue
1. Abrimos el cmd.
2. Vamos abriendo los
directorios hasta conseguir (Usando cd ..):
C:\>
C:\>cd "Archivos de
programa"
C:\Archivos de programa>cd Java
C:\Archivos de programa\Java>cd jre7
C:\Archivos de programa\Java\jre7>cd
bin
Una vez en bin
introducimos el comando para crear el keystore
C:\Archivos de programa\Java\jre7\bin> keytool -genkey -alias tomcat
-keyalg RSA
-keystore \path\to\my\keystore\nombreArchivoKeystore
-keystore – Sirve
para indicar la ruta donde se creara el archivo
Es importante fijarse bien y que la ruta donde se va a guardar el archivo exista , en el ejemplo la carpeta key hay que crearla si queremos que se guarde en ella.
Es importante fijarse bien y que la ruta donde se va a guardar el archivo exista , en el ejemplo la carpeta key hay que crearla si queremos que se guarde en ella.
C:\Archivos de
programa\Java\jre7\bin> keytool -genkey -alias tomcat \
-keyalg RSA -keystore "C:\Archivos de programa\Apache Software
Foundation\Tomcat 7.0\key\llave"
Introduzca la contrase±a del almacen de
claves:
Volver a escribir la contraseña nueva:
┐Cuales son su nombre y su apellido?
[Unknown]: entidad
┐Cual es el nombre de su unidad de organizacion?
[Unknown]: organizacion
┐Cual es el nombre de su organizacion?
[Unknown]: organizacion
┐Cual es el nombre de su ciudad o
localidad?
[Unknown]: se
┐Cual es el nombre de su estado o
provincia?
[Unknown]: se
┐Cual es el codigo de pais de dos
letras de la unidad?
[Unknown]: Es
┐Es correcto CN=entidad,
OU=organizacion, O=organizacion, L=se, ST=se, C=Es?
[no]: si
Es muy importante que
en el ultimo paso pulsemos enter y no cambiemos la contraseña , si no hacemos
esto java lanzara una excepción y el archivo keystore no se creara.
Introduzca la contraseña de clave para
(INTRO si es la misma contraseña que la del almacen de claves):
Una vez ejecutado
este comando se creara un archivo en la ruta especificada, en este caso en la
carpeta key se creara un archivo llave.
Este archivo keystore ya contiene un certificado autofirmado para usar en el servidor.
Este archivo keystore ya contiene un certificado autofirmado para usar en el servidor.
Habilitar ssl en el Tomcat
Para habilitar SSL en tomcat usando la configuración JSSE debemos modificar el conector en el archivo server.xml
El archivo server.xml esta en la ruta
C:\Archivos de programa\Apache Software
Foundation\Tomcat 7.0\conf
Dentro de este archivo debemos buscar las siguentes lineas , que indican la configuracion actual del conector para el puerto 8443
Y debemos modificar el conector para que quede de la siguiente
forma,cambiando los parametros de keystoreFile por la ruta donde se encuentra
el archivo creado anteriormente y el keystorePass ,que no es otra que la
contraseña que le pusimos al archivo keystore.
port="8443"
SSLEnabled="true" maxThreads="200"
scheme="https"
secure="true"
keystoreFile="ruta
archivo keystore"
keystorePass="contraseña
keystore" clientAuth="false"
sslProtocol="TLS" />
Después de esto guardamos y reiniciamos el tomcat y nos vamos al
navegador que no sea chrome por ejemplo firefox y ponemos la dirección:
https://direccion_servidor:8443/
nos saldrá que el certificado del servidor no es seguro , procedemos
hacer click en entender los riesgos y añadirlo como excepción de seguridad.
Aun así nos seguirá apareciendo el https tachado y tendremos que confiar en el certificado, para ello pulsamos en entiendo los riegos y añadir excepción de seguridad , y ya aparecerá la pagina sin ninguno problema.
Aun así nos seguirá apareciendo el https tachado y tendremos que confiar en el certificado, para ello pulsamos en entiendo los riegos y añadir excepción de seguridad , y ya aparecerá la pagina sin ninguno problema.
Referencia: https://csi2altair.wikispaces.com/Apache+Tomcat+seguro