Introducció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
Certificados Disponibles
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.
Configuración
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).
Windows
Para instalarlo en entornos windows
Java
La contraseña por defecto del cacerts de java es changeit
| Bloque de código |
|---|
| language | powershell |
|---|
| title | Instalar |
|---|
|
keytool -import -alias <alias> -keystore "<JAVA_HOME>\lib\security\cacerts" -file <certificado> |
| Bloque de código |
|---|
| language | powershell |
|---|
| title | Borrado |
|---|
|
keytool -delete -noprompt -alias <alias> -keystore "<JAVA_HOME>\lib\security\cacerts" |
Node
| Bloque de código |
|---|
| language | powershell |
|---|
| title | Instalar |
|---|
|
npm config set cafile "<path to your certificate file>" |
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
| Bloque de código |
|---|
| language | powershell |
|---|
| title | Extender Certificado ya existente | Instalar |
|---|
|
$ [Environment]::SetEnvironmentVariable("$env:NODE_EXTRA_CA_CERTS += '", "<path to certificate file>'
", "User") |
Docker
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.
Linux
Para instalarlo en entornos Linux
Java
La contraseña por defecto del cacerts de java es changeit
| Bloque de código |
|---|
| language | bash |
|---|
| title | Instalar |
|---|
|
keytool -import -alias <alias> -keystore "<JAVA_HOME>\lib\security\cacerts" -file <certificado> |
| Bloque de código |
|---|
|
keytool -delete -noprompt -alias <alias> -keystore "<JAVA_HOME>\lib\security\cacerts" |
.Net Core
| Bloque de código |
|---|
| language | bash |
|---|
| title | Instalar |
|---|
|
sudo cp <certificado> /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust |
| Bloque de código |
|---|
| language | bash |
|---|
| title | Instalar |
|---|
|
sudo rm /etc/pki/ca-trust/source/anchors/<certificado>
sudo update-ca-trust |
Node
Editar el fichero correspondiente a cada consola para incluir la exportación de la variable de entorno.
| Bloque de código |
|---|
| language | bash |
|---|
| title | Instalar |
|---|
|
npm config set cafile "<path to your certificate file>" |
| Bloque de código |
|---|
| language | bash |
|---|
| title | Extender Certificado ya existente |
|---|
|
$ <editor> ~/.profile
#añadimos el certificado del sas para node
if [[ -z "${NODE_EXTRA_CA_CERTS}" ]] ; then
export NODE_EXTRA_CA_CERTS="<path to certificate file>_certificados>/ca.crt"
else
export NODE_EXTRA_CA_CERTS="<path_certificados>/ca.crt:$NODE_EXTRA_CA_CERTS"
|
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 - 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
| Bloque de código |
|---|
| language | bash |
|---|
| title | Extender Certificado ya existente |
|---|
|
$ source ~/.profile |
Docker
Instalar el certificado para que pueda hacerse uso desde docker
| Bloque de código |
|---|
| language | bash |
|---|
| theme | DJango |
|---|
| title | instalar certificado 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 |
- substituir <url_host> por el host sobre el que se quiera instalar el/los certificado/s. Por ejemplo para acceder a la dml del sas sería dml-si.sas.junta-andalucia.es:8084
- para más información u otras consolas se puede consultar la siguiente referencia - LINUX - Envmyregistrydomain.com:5000/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:
| Store location | local machine |
| Place all certificates in the following store | selected |
Click Browser and select Trusted Root Certificate Authorities.
Click Finish. Restart Docker.