LIP-Computing.ssl-certs

ansible-role-ssl-certs

Generar y/o desplegar certificado SSL

Disponible en Ansible Galaxy: LIP-Computing.ssl-certs

Ejemplos

Ejemplo para generar un certificado SSL autofirmado

 - hosts: all
   roles:
     - LIP-Computing.ssl-certs

Esto creará el certificado y la clave privada en:

  • /etc/ssl/myserver.mydomain.com.key
  • /etc/ssl/myserver.mydomain.com.pem

Ejemplo para desplegar un certificado SSL

Se muestran dos ejemplos de playbooks a continuación:

 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_common_name: "example.com"
 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_common_name: "myhost.mydomain"
      ssl_certs_country: "PT"
      ssl_certs_locality: "Lisboa"
      ssl_certs_organization: "LIP"
      ssl_certs_state: "Lisboa"
      ssl_certs_path_owner: "root"
      ssl_certs_path_group: "root"
      ssl_certs_generate_dh_param: true

El certificado debe colocarse en files/ssl/example.com.key y files/ssl/example.com.pem. Si no existen, se generarán como un certificado autofirmado en /etc/ssl/example.com.key y /etc/ssl/example.com.pem utilizando el nombre común proporcionado.

Ejemplo para desplegar un certificado SSL utilizando archivos de clave/pem locales

 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_local_privkey_path: '/ruta/a/example.com.key'
      ssl_certs_local_cert_path: '/ruta/a/example.com.pem'

Ejemplo para desplegar un certificado SSL almacenado en variables

Un certificado y clave SSL son solo texto que se puede almacenar como una variable, lo cual es útil al usar ansible vault.

Ejemplo de datos de variables, note cómo el texto está indentado. Esto es necesario para insertar correctamente el texto a través del módulo de plantilla.

ssl_certs_local_privkey_data: |
  -----BEGIN RSA PRIVATE KEY-----
  MIIEpQIBAAKCAQEAu2uhv2cjoN4F3arUZ5cDrwuxf3koCwrKSK75as0WZoxYrpyw
  Lyx9ldyD4nGabVep0R/uAgQ/HqEf2jC7WIvGcEq8bHB9PyEEWzT8IjKQX0YTc//4
  gkHBkpyU0fVrj5nkc30EIbcbH4RHRDwye4VhP/iCPchDG7OqvCyOdm8=
  -----END RSA PRIVATE KEY-----
ssl_certs_local_cert_data: |
  -----BEGIN CERTIFICATE-----
  MIIDmzCCAoOgAwIBAgIJAKWMlgLwrBzXMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNV
  QAL3naEfBSZBl0tBohuxn8Xd3yLPuKGUOk3pSL1IJy0Ca6p+QwjkaZUd9X3gf1V2
  SEfYSaGPvfIlSuHIshno
  -----END CERTIFICATE-----

Luego simplemente incluye el rol como en el primer ejemplo.

Ejemplo para usar este rol con mi rol de Nginx: jdauphant.nginx

 - hosts: all
   roles:
     - LIP-Computing.ssl-certs
       ssl_certs_generate_dh_param: true
     - role: jdauphant.nginx
       nginx_configs:
          ssl:
               - ssl_certificate_key {{ssl_certs_privkey_path}}
               - ssl_certificate     {{ssl_certs_cert_path}}
               - ssl_dhparam         {{ssl_certs_dhparam_path}}
       nginx_sites:
          default:
               - listen 443 ssl
               - server_name _
               - root "/usr/share/nginx/html"
               - index index.html
Acerca del proyecto

Generate and/or deploy SSL certificate

Instalar
ansible-galaxy install LIP-Computing.ssl-certs
Licencia
bsd-2-clause
Descargas
70
Propietario
LIP Computing group