Changes between Version 14 and Version 15 of ins_tomcat_servidor_ssl


Ignore:
Timestamp:
Feb 25, 2019, 1:47:42 PM (5 years ago)
Author:
lcolina
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ins_tomcat_servidor_ssl

    v14 v15  
    1010* Debian 9
    1111* Apache Tomcat 7.0.92
     12* Default-jre
     13* Default-jdk
    1214
    1315
     
    2224
    23252. Una ves descargado el archivo apache-tomcat-7.0.92.tar.gz se debe mover el mismo al directorio ''/var/lib/''
    24 
    2526{{{
    2627# mv apache-tomcat-7.0.92.tar.gz /var/lib/
     
    2829
    29303. Descomprimir el archivo y cambiar el nombre del directorio a ''tomcat7''
    30 
    3131{{{
    3232# tar -xzvf apache-tomcat-7.0.92.tar.gz
     
    4848
    49494. Para correr el Tomcat acceder hasta el directorio ''/var/lib/tomcat7/bin/'' y ejecutar el archivo catalina.sh
    50 
    5150{{{
    5251# cd /var/lib/tomcat7/bin/
     
    8483 * manager-jmx
    8584
    86 
    8785Para nuestro caso solo vamos a utilizar o definir los roles '''manager-gui''' y '''manager-status'''
    8886
    89876. Agregar dentro del archivo los permisos de usuarios para el Tomcat '''tomcat-user.xml'''
    90 
    9188{{{
    9289# cd $CATALINA_HOME/conf
    9390# vim tomcat-user.xml
    9491}}}
    95 
    96 Donde vamos agregar la siguiente sección:
    97 
     92Donde vamos agregar la siguiente sección:
    9893{{{
    9994<role rolename="manager-gui"/>
     
    105100
    1061017. Guardar los cambios y reiniciar el servicio tomcat 7.
    107 
    108102{{{
    109103root@debian9:/var/lib/tomcat7/bin# ./catalina.sh stop
     
    155149
    1561501. Desde un terminal: [[BR]]1.1. Descargar el archivo Murachi.war al ''HOME''. [[BR]] 1.2. Luego se mueve el archivo al directorio ''$CATALINA_HOME/webapps/''
    157 
    158151{{{
    159152# mv Murachi.war $CATALINA_HOME/webapps/
     
    189182
    1901831. Crear un directorio con el nombre de '''murachiWorkingDirectory''' en el servidor Tomcat en la dirección $CATALINA_HOME/ donde se almacenara los archivos que se van a firmar:
    191 
    192184{{{
    193185$CATALINA_HOME/# mkdir murachiWorkingDirectory
    194186}}}
    195187
    196 2. Instalar y configurar un certificado SSL en el servidor tomcat, ya que el servicio de Murachí requiere el uso del protocolo HTTPS:
    197 
    198 '''Referencia:''' https://unpocodejava.com/2016/04/29/como-crear-un-certificado-autofirmado-para-tomcat-y-nginx/
    199 
    200 En esta sección se mostrara los pasos para crear un certificado autofirmado y configurar el servidor Tomcat.
    201 
    202 Primero procedemos a crear el par de clave (publica y privada) del certificado autofirmado y crear el almacén de claves ''''keystore'''' en  formato JKS con el siguiente comando ## openssl req -x509 -sha256 -newkey rsa:2048 -keyout tomcat.key -out tomcat.crt -days 1024 -nodes
    203 
    204 donde indicamos crear una solicitud (crt) de certificado x509, usar algoritmo sha256 crear claves (key) con tamaño 2048 y la salida seria los archivos tomcat.key y tomcar.crt
    205 
     1882. Instalar y configurar un certificado SSL en el servidor tomcat, ya que el servicio de Murachí requiere el uso del protocolo HTTPS: En esta sección se mostrara los pasos para crear un certificado autofirmado, crear el almacén de claves ''''keystore'''' en  formato JKS y la configuración el servidor Tomcat. [[BR]][[BR]]
     189 * Crear el par de clave (publica y privada) del certificado autofirmado, donde se indica la creación de una solicitud (crt) de certificado x509, usando algoritmo sha256, la creación de claves (key) con tamaño 2048 y la salida en los archivos tomcat.key y tomcar.crt
    206190{{{
    207191root@debian9:/var/lib/tomcat7# openssl req -x509 -sha256 -newkey rsa:2048 -keyout tomcat.key -out tomcat.crt -days 1024 -nodes
     
    227211root@debian9:/var/lib/tomcat7# 
    228212}}}
    229 
    230 En el paso anterior pueden colocar los datos de pruebas que quieran, estos datos estaria dentro de la solicitud del certificado.
    231 
    232 Ahora procedemos a exportar ambos archivos que se generaron en la sección anterior (tomcat.crt y tomcat.key) al  almacén de claves keystore
    233 
    234 ## openssl pkcs12 -export -out keystore.pkcs12 -in tomcat.crt -inkey tomcat.key
    235 
     213 * Exportar ambos archivos que se generaron en la sección anterior (tomcat.crt y tomcat.key) al  almacén de claves keystore
    236214{{{
    237215root@debian9:/var/lib/tomcat7# openssl pkcs12 -export -out keystore.pkcs12 -in tomcat.crt -inkey tomcat.key
     
    239217Verifying - Enter Export Password:
    240218root@debian9:/var/lib/tomcat7#
    241 
    242 }}}
    243 
    244 Escriba el siguiente comando para instalar el archivo de certificado en el almacén de claves:
     219}}}
     220 * Instalar el archivo de certificado en el almacén de claves:
     221{{{
    245222## keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS
    246 
    247 
    248 == Configuración del Conector SSL ==
    249 
    250 En primer lugar, Tomcat necesitará un conector SSL configurado para poder aceptar las conexiones seguras.
    251 
    252 Abra el archivo server.xml de Tomcat ($CATALINA_HOME/conf/) en un editor de texto.
    253 
     223}}}
     224 * Para la configuración del Conector SSL (Tomcat necesitará un conector SSL configurado para poder aceptar las conexiones seguras) abrir el archivo server.xml de Tomcat '''$CATALINA_HOME/conf/''' en un editor de texto.
    254225{{{
    255226root@debian9:/var/lib/tomcat7/conf# vim server.xml
    256227}}}
    257 
    258 Busque el conector que desea proteger con el nuevo almacén de claves y, si es necesario, elimine el comentario (generalmente, se trata de un conector con el puerto 443 o 8443 como se muestra en el ejemplo siguiente).
    259 Especifique el nombre de archivo y la contraseña correctos del almacén de claves en la configuración del conector. Cuando finalice, el conector debe tener una apariencia similar al siguiente ejemplo:
    260  
    261 
     228 * Buscar el conector que desea proteger con el nuevo almacén de claves y, si es necesario, elimine el comentario (generalmente, se trata de un conector con el puerto 443 o 8443 como se muestra en el ejemplo siguiente). Especifique el nombre de archivo y la contraseña correctos del almacén de claves en la configuración del conector. Cuando finalice, el conector debe tener una apariencia similar al siguiente ejemplo:
    262229{{{
    263230 <!-- Define a SSL HTTP/1.1 Connector on port 8443
     
    274241
    275242}}}
    276 
    277 Guarde los cambios en el archivo server.xml y se procede a reinicie Tomcat. Para verificar el funcionamiento del certificado ssl se procede a levantar un navegador de su preferencia y vuelva a levantar el servidor pero agregando el protocolo '''https''' (https://localhost:8443/) (ver figura 7)
    278 
    279 
     243 * Guardar los cambios en el archivo server.xml y se procede a reinicie Tomcat. Para verificar el funcionamiento del certificado ssl se procede a levantar un navegador de su preferencia y vuelva a levantar el servidor pero agregando el protocolo '''https''' (https://localhost:8443/) (ver figura 7)
    280244[[Image(servidor-tomcat-certificado-ssl.png​, 800px, align=center, nolink)]]
    281245{{{
    282246#!html
    283 <h1 style="text-align: center; font-size: 100%">Figura 6. Servidor Tomcat usando el protocolo https </h1>
    284 }}}
    285 
    286 == Consumo del servido Murachí ==
     247<h1 style="text-align: center; font-size: 100%">Figura 7. Servidor Tomcat usando el protocolo https </h1>
     248}}}
     249
     250'''Referencia:''' https://unpocodejava.com/2016/04/29/como-crear-un-certificado-autofirmado-para-tomcat-y-nginx/
     251
     252
     253== 4. Implementación de un Portal WEB para pruebas de Versión del servicio Murachí ==
     254
     2551. Descargar el portal que se tiene disponible en formato '''.war''' -> [Descargar].
     256
     2572. Ejecutar el proceso de cargar y desplegar en el servidor Tomcat, para la misma debemos realizar los pasos de la sección anterior:  ''3. Implementación del servicio Murachí (.war) > 3.1 Cargar archivo .war''
     258[[Image(Tomcat-lista-de-aplicaciones-portal.png, 800px, align=center, nolink)]]
     259{{{
     260#!html
     261<h1 style="text-align: center; font-size: 100%">Figura 8. Tomcat -> Lista de aplicaciones '''VersionApiMurachi''' </h1>
     262}}}
     263
     2643. Ejecutar el portal () haciendo clic en el enlace ''https://localhost:8443/VersionApiMurachi'' desplegara el portal que realiza el consumo de la versión del servicio de Murachí (ver figura )
     265
     2664. Editar el portal si se va a consumir del servicio Murachí entorno de pruebas, en este sentido se procede a cambiar en el método '''$.ajax''' la propiedad '''url''' la dirección de la petición que apunte al entorno de prueba. Entonces, se debe acceder al directorio '''CATALINA_HOME/webapps/VersionApiMurachi/''' y editar el archivo '''VersionApiMurachi.html'''
     267{{{
     268# cd CATALINA_HOME/webapps/VersionApiMurachi/
     269}}}
     270Con el editor de su preferencia proceda a modificar en todos los método de '''$.ajax''' la propiedad '''url'''
     271{{{
     272$.ajax({
     273   url: "https://localhost:8443/Murachi/0.1/archivos",
     274   //url: "https://murachi.cenditel.gob.ve/Murachi/0.1/archivos",
     275}}}
     276
     277
     278== 5. Implementación de un Portal Web para el consumo del servido Murachí ==
    287279
    288280Para poder realizar el consumo de los servicios de Murachí debemos cargar un portal que realiza las consultas para verificar y firmar electrónicamente documentos usando el formato '''pdf''' como '''bdoc'''.
    289281
    290 El portal se tiene disponible en formato '''.war''' -> [https://tibisay.cenditel.gob.ve/murachi/raw-attachment/wiki/ins_tomcat_servidor_ssl/pruebaservicioweb.war Descargar], solo queda realizar el proceso de cargar y desplegar en el servidor Tomcat, para la misma debemos realizar los pasos de la sección anterior '''Para subir un .war al servidor se puede realizar de dos maneras. '''. En esta caso se mostrara el cargar y desplegar el archivo usando la opción del interfaz gráfica (ver figura 8)
     2821. Descargar el portal que se tiene disponible en formato '''.war''' -> [https://tibisay.cenditel.gob.ve/murachi/raw-attachment/wiki/ins_tomcat_servidor_ssl/pruebaservicioweb.war Descargar].
     283
     2842. Ejecutar el proceso de cargar y desplegar en el servidor Tomcat, para la misma debemos realizar los pasos de la sección anterior:  ''3. Implementación del servicio Murachí (.war) > 3.1 Cargar archivo .war''
    291285
    292286[[Image(tomcat-cargar-desplegar-archivo-portal-war.png, 800px, align=center, nolink)]]
     
    296290}}}
    297291
    298 Podemos observar en la lista de aplicaciones del Tomcat que ya se dispone del portal (pruebaservicioweb) (ver figura 9)
    299 
    300292[[Image(Tomcat-lista-de-aplicaciones-portal.png, 800px, align=center, nolink)]]
    301293{{{
     
    304296}}}
    305297
    306 Procedemos a ejecutar el portal (pruebaservicioweb) haciendo clic en el enlace '''/pruebaservicioweb''' y se desplegara el portal que realizar el consumo del servicio de Murachí (ver figura 10)
     2983. Ejecutar el portal (pruebaservicioweb) haciendo clic en el enlace ''https://localhost:8443/pruebaservicioweb'' desplegara el portal que realiza el consumo del servicio de Murachí (ver figura 10)
    307299
    308300[[Image(Portal-consumo-servicio-murachi.png, 800px, align=center, nolink)]]
     
    312304}}}
    313305
    314 Si probamos este portal vamos a consumir el servicio del Murachí en producción y no el que tenemos en el servidor de prueba, en este sentido procedemos a cambiar en el método '''$.ajax''' la propieda '''url''' la dirección de la petición que apunte al servidor de prueba. Entonces para realizar estos pasos debemos acceder al directorio '''CATALINA_HOME/webapps/pruebaservicioweb/''' y editamos el archivo '''index.html'''
    315 
     3064. Editar el portal si se va a consumir del servicio Murachí pruebas, en este sentido se procede a cambiar en el método '''$.ajax''' la propiedad '''url''' la dirección de la petición que apunte al entorno de prueba. Entonces, se debe acceder al directorio '''CATALINA_HOME/webapps/pruebaservicioweb/''' y editar el archivo '''index.html'''
    316307{{{
    317308# cd CATALINA_HOME/webapps/pruebaservicioweb/
    318309}}}
    319 
    320310Con el editor de su preferencia proceda a modificar en todos los método de '''$.ajax''' la propiedad '''url'''
    321311
    322 Ejemplo: comento la linea '''url:"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos"''' y coloco '''url:"https://192.168.12.91:8443/Murachi/0.1/archivos"''', donde '''192.168.12.91''' es la dirección IP de mi servidor de prueba, en tal sentido debe obtener la IP de la maquina donde esta trabajando.
    323 
    324 {{{
    325 
     312Ejemplo: comento la linea '''url:"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos"''' y coloco '''url:"https://localhost:8443/Murachi/0.1/archivos"''', donde '''localhost''' es la dirección IP o dominio del entorno de pruebas.
     313
     314{{{
    326315$.ajax({
    327    url: "https://192.168.12.91:8443/Murachi/0.1/archivos",
     316   url: "https://localhost:8443/Murachi/0.1/archivos",
    328317   //url: "https://murachi.cenditel.gob.ve/Murachi/0.1/archivos",
    329318}}}
    330319
    331 una ves modificado todos los métodos de '''$.ajax''' proceda a guardar los cambio.
    332 
    333 Para el consumo del servicio de Murachí se requeire instalar un complemento de firma en el navegador Chrome quien será el encargado de gestionar los dispositivos criptográficos, en tal sentido debe realizar la instalación del mismo siguiendo los paso de instalación descrito en el siguiente enlace [https://murachi.cenditel.gob.ve/configuracionInstalacion/contenido_1_instalar_el_complemento_de_firma_esteidfirefoxplugin.html Configuración instalación del complemento].
    334 
    335 Finalmente el portal esta listo para consumir los servicio de Murachí desde su servidor de prueba.
     3205. Guardar los cambios.
     321
     3226. Para el consumo del servicio de Murachí se requeire instalar un complemento de firma en el navegador Chrome quien será el encargado de gestionar los dispositivos criptográficos, en tal sentido debe realizar la instalación del mismo siguiendo los paso de instalación descrito en el siguiente enlace [https://murachi.cenditel.gob.ve/configuracionInstalacion/contenido_1_instalar_el_complemento_de_firma_esteidfirefoxplugin.html Configuración instalación del complemento].
     323
     3247. Finalmente el portal esta listo para consumir los servicio de Murachí desde su servidor de prueba.
     325