2021-12-01 19:13:34 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
- name: Ensure openssl is installed
|
|
|
|
package: name=openssl
|
2022-03-04 18:00:06 +01:00
|
|
|
when: openssl_installed is not defined
|
|
|
|
|
|
|
|
- name: Mark openssl as installed
|
|
|
|
set_fact: openssl_installed=True
|
2021-12-01 19:13:34 +01:00
|
|
|
|
|
|
|
- name: Create cert dir
|
|
|
|
file: path={{ cert_path | dirname }} state=directory
|
|
|
|
|
|
|
|
- name: Create private key directory
|
|
|
|
file: path={{ cert_key_path | dirname }} state=directory owner={{ cert_user | default(omit) }}
|
|
|
|
|
|
|
|
- name: Create the self signed certificate
|
|
|
|
command: openssl req -x509 -newkey rsa:{{ cert_key_size | default(4096) }} \
|
2022-01-12 10:14:43 +01:00
|
|
|
-subj "{{ cert_subj | default('/C=FR/ST=Aquitaine/L=Ehtrace/O=IT Security/CN=' + inventory_hostname) }}" \
|
2021-12-01 19:13:34 +01:00
|
|
|
-nodes -keyout {{ cert_key_path }} -out {{ cert_path }} -days {{ cert_validity | default(3650) }}
|
|
|
|
args:
|
|
|
|
creates: "{{ cert_path }}"
|
|
|
|
|
|
|
|
- name: Restrict permissions of the private key
|
2022-03-04 18:00:06 +01:00
|
|
|
file: path={{ cert_key_path }} owner={{ cert_user | default(omit) }} group={{ cert_group | default(omit) }} mode={{ cert_mode | default('600') }}
|