Changes between Version 14 and Version 15 of ins_tomcat_servidor_ssl
- Timestamp:
- Feb 25, 2019, 1:47:42 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ins_tomcat_servidor_ssl
v14 v15 10 10 * Debian 9 11 11 * Apache Tomcat 7.0.92 12 * Default-jre 13 * Default-jdk 12 14 13 15 … … 22 24 23 25 2. Una ves descargado el archivo apache-tomcat-7.0.92.tar.gz se debe mover el mismo al directorio ''/var/lib/'' 24 25 26 {{{ 26 27 # mv apache-tomcat-7.0.92.tar.gz /var/lib/ … … 28 29 29 30 3. Descomprimir el archivo y cambiar el nombre del directorio a ''tomcat7'' 30 31 31 {{{ 32 32 # tar -xzvf apache-tomcat-7.0.92.tar.gz … … 48 48 49 49 4. Para correr el Tomcat acceder hasta el directorio ''/var/lib/tomcat7/bin/'' y ejecutar el archivo catalina.sh 50 51 50 {{{ 52 51 # cd /var/lib/tomcat7/bin/ … … 84 83 * manager-jmx 85 84 86 87 85 Para nuestro caso solo vamos a utilizar o definir los roles '''manager-gui''' y '''manager-status''' 88 86 89 87 6. Agregar dentro del archivo los permisos de usuarios para el Tomcat '''tomcat-user.xml''' 90 91 88 {{{ 92 89 # cd $CATALINA_HOME/conf 93 90 # vim tomcat-user.xml 94 91 }}} 95 96 Donde vamos agregar la siguiente sección: 97 92 Donde vamos agregar la siguiente sección: 98 93 {{{ 99 94 <role rolename="manager-gui"/> … … 105 100 106 101 7. Guardar los cambios y reiniciar el servicio tomcat 7. 107 108 102 {{{ 109 103 root@debian9:/var/lib/tomcat7/bin# ./catalina.sh stop … … 155 149 156 150 1. 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 158 151 {{{ 159 152 # mv Murachi.war $CATALINA_HOME/webapps/ … … 189 182 190 183 1. 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 192 184 {{{ 193 185 $CATALINA_HOME/# mkdir murachiWorkingDirectory 194 186 }}} 195 187 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 188 2. 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 206 190 {{{ 207 191 root@debian9:/var/lib/tomcat7# openssl req -x509 -sha256 -newkey rsa:2048 -keyout tomcat.key -out tomcat.crt -days 1024 -nodes … … 227 211 root@debian9:/var/lib/tomcat7# 228 212 }}} 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 236 214 {{{ 237 215 root@debian9:/var/lib/tomcat7# openssl pkcs12 -export -out keystore.pkcs12 -in tomcat.crt -inkey tomcat.key … … 239 217 Verifying - Enter Export Password: 240 218 root@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 {{{ 245 222 ## 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. 254 225 {{{ 255 226 root@debian9:/var/lib/tomcat7/conf# vim server.xml 256 227 }}} 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: 262 229 {{{ 263 230 <!-- Define a SSL HTTP/1.1 Connector on port 8443 … … 274 241 275 242 }}} 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) 280 244 [[Image(servidor-tomcat-certificado-ssl.png, 800px, align=center, nolink)]] 281 245 {{{ 282 246 #!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 255 1. Descargar el portal que se tiene disponible en formato '''.war''' -> [Descargar]. 256 257 2. 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 264 3. 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 266 4. 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 }}} 270 Con 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í == 287 279 288 280 Para 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'''. 289 281 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) 282 1. 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 284 2. 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'' 291 285 292 286 [[Image(tomcat-cargar-desplegar-archivo-portal-war.png, 800px, align=center, nolink)]] … … 296 290 }}} 297 291 298 Podemos observar en la lista de aplicaciones del Tomcat que ya se dispone del portal (pruebaservicioweb) (ver figura 9)299 300 292 [[Image(Tomcat-lista-de-aplicaciones-portal.png, 800px, align=center, nolink)]] 301 293 {{{ … … 304 296 }}} 305 297 306 Procedemos a ejecutar el portal (pruebaservicioweb) haciendo clic en el enlace '''/pruebaservicioweb''' y se desplegara el portal que realizarel consumo del servicio de Murachí (ver figura 10)298 3. 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) 307 299 308 300 [[Image(Portal-consumo-servicio-murachi.png, 800px, align=center, nolink)]] … … 312 304 }}} 313 305 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 306 4. 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''' 316 307 {{{ 317 308 # cd CATALINA_HOME/webapps/pruebaservicioweb/ 318 309 }}} 319 320 310 Con el editor de su preferencia proceda a modificar en todos los método de '''$.ajax''' la propiedad '''url''' 321 311 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 312 Ejemplo: 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 {{{ 326 315 $.ajax({ 327 url: "https:// 192.168.12.91:8443/Murachi/0.1/archivos",316 url: "https://localhost:8443/Murachi/0.1/archivos", 328 317 //url: "https://murachi.cenditel.gob.ve/Murachi/0.1/archivos", 329 318 }}} 330 319 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. 320 5. Guardar los cambios. 321 322 6. 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 324 7. Finalmente el portal esta listo para consumir los servicio de Murachí desde su servidor de prueba. 325