El presente documento es una guia, cómo tal es un compendio de instrucciones y buenas prácticas a seguir para conseguir llegar a buen termino un tema concreto.
Para cualquier duda sobre el mismo puede contactar en l-arquitectura.stic@juntadeandalucia.es
Los cambios en la guías vendrán acompañados de un registro de las modificaciones. De este modo se podrá realizar un seguimiento y consultar su evolución. Ordenándose de mas recientes a menos recientes, prestando especial cuidado a las cabezeras de la tablas dónde se indican las fechas de entrada en vigor y versión.
Este espacio pretende conseguir configurar los entornos y los desarrollos para poder comunicarse por https con los distintos servicios provistos por el Servicio Andaluz de Salud
http://git.sas.junta-andalucia.es/gobernanza/ArchivosDeDesarrollo/certificados-publicos*
- Los certificados se encuentran en un repositorio de git, en el SAS, solo se pueden descargar desde este repositorio desde la red del SAS o a través de VPN. Es necesario disponer de un usuario ldap coorporativo, y solicitar acceso a los repositorios públicos de git, mediante cges a la OCA.
- La última versión de los certificados se encuentra en la carpeta current de la rama master. Dependiendo de a que entorno se necesite conectar (pre o pro) se deberá acceder a la carpeta correspondiente (pre.sas.junta-andalucia.es o sas.junta-andalucia.es)
La comunicación con los diferentes sistemas del SAS que requieran una comunicación a través de https deberá tener instalados los certificados provistos por el SAS dentro del sistema operativo desde el que se va a realizar a comunicación (entorno de desarrollo, contenedor, servidor).
Para instalarlo en entornos windows
La contraseña por defecto del cacerts de java es changeit
keytool -import -alias <alias> -keystore "<JAVA_HOME>\lib\security\cacerts" -file <certificado>
keytool -delete -noprompt -alias <alias> -keystore "<JAVA_HOME>\lib\security\cacerts"
Hay que establecer la variable de entorno de forma permanente. Seguir la referencia Windows - ENV para revisar los diferentes métodos para establecer la variable de entorno.
Una de ellas a través de powershell
$ [Environment]::SetEnvironmentVariable("NODE_EXTRA_CA_CERTS", "<path to certificate file>", "User")
Windows Server:
Open Windows Explorer, right-click the domain.crt
file, and choose Install certificate. When prompted, select the following options:
Store location | local machine |
Place all certificates in the following store | selected |
Click Browser and select Trusted Root Certificate Authorities.
Click Finish. Restart Docker.
Para instalarlo en entornos Linux
La contraseña por defecto del cacerts de java es changeit
keytool -import -alias <alias> -keystore "<JAVA_HOME>\lib\security\cacerts" -file <certificado>
keytool -delete -noprompt -alias <alias> -keystore "<JAVA_HOME>\lib\security\cacerts"
sudo cp <certificado> /etc/pki/ca-trust/source/anchors/ sudo update-ca-trust
sudo rm /etc/pki/ca-trust/source/anchors/<certificado> sudo update-ca-trust
Editar el fichero correspondiente a cada consola para incluir la exportación de la variable de entorno.
$ <editor> ~/.profile #añadimos el certificado del sas para node if [[ -z "${NODE_EXTRA_CA_CERTS}" ]] ; then export NODE_EXTRA_CA_CERTS="<path_certificados>/ca.crt" else export NODE_EXTRA_CA_CERTS="<path_certificados>/ca.crt:$NODE_EXTRA_CA_CERTS" fi
- substituir <editor> por el editor que se desee o crear la variable de entorno con el editor de referencia. Por ejemplo vim
- substituir <path_certificados> por la ruta donde se encuentre el certificado. Por ejemplo $HOME/certificados
- para más información u otras consolas se puede consultar la siguiente referencia - LINUX - Env
para aplicar los cambios realizados ejecutar
$ source ~/.profile
Instalar el certificado para que pueda hacerse uso desde docker
# Crear carpeta con la dns donde se utilizará el certificado $ sudo mkdir -p /etc/docker/certs.d/<url_host> # Descargar el certificado del git como se indica al inicio de la normativa y guardarlo en la carpeta donde se utilizará el certificado /etc/docker/certs.d/<url_host> # Actualizar los certificados $ sudo update-ca-certificates
1 comentario
LUIS MARTINEZ FONTIVEROS
Docker
Instruct every Docker daemon to trust that certificate. The way to do this depends on your OS.
Linux: Copy the
domain.crt
file to/etc/docker/certs.d/dml-si.sas.junta-andalucia.es:8084/ca.crt
on every Docker host. You do not need to restart Docker.Windows Server:
Open Windows Explorer, right-click the
domain.crt
file, and choose Install certificate. When prompted, select the following options:Click Browser and select Trusted Root Certificate Authorities.
Click Finish. Restart Docker.