server.yml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. ---
  2. - name: Server Certificate - Make certificates directory
  3. file:
  4. path: "{{ server_cert_dir }}"
  5. state: directory
  6. - name: Server Certificate - Check if private key is already present
  7. stat:
  8. path: "{{ server_cert_dir }}/{{ server_cert_name }}.key"
  9. register: server_cert_key
  10. - name: Server Certificate - Generate the private key
  11. shell: openssl genrsa -out {{ server_cert_name }}.key 4096
  12. args:
  13. chdir: "{{ server_cert_dir }}"
  14. when: not server_cert_key.stat.exists
  15. - name: Server Certificate - Generate the server configuration file
  16. template:
  17. src: server.conf.j2
  18. dest: "{{ server_cert_dir }}/{{ server_cert_name }}.conf"
  19. - name: Server Certificate - Create the certificate signin request
  20. shell: openssl req -new -key {{ server_cert_name }}.key -days {{ server_cert_days }} -out {{ server_cert_name }}.csr -config {{ server_cert_name }}.conf
  21. args:
  22. chdir: "{{ server_cert_dir }}"
  23. - name: Server Certificate - Create the X509 V3 extension config file to define SAN
  24. template:
  25. src: server.ext.j2
  26. dest: "{{ server_cert_dir }}/{{ server_cert_name }}.ext"
  27. - name: Server Certificate - Sign the certificate with x509 V3 extensions
  28. shell: openssl x509 -req \
  29. -in {{ server_cert_name }}.csr \
  30. -CA {{ ca_cert_dir }}/{{ ca_cert_name }}.pem -CAkey {{ ca_cert_dir }}/{{ ca_cert_name }}.key -CAcreateserial \
  31. -passin pass:"{{ ca_cert_key_pass }}" \
  32. -out {{ server_cert_name }}.crt \
  33. -days {{ server_cert_days }} -sha256 \
  34. -extfile {{ server_cert_name }}.ext
  35. args:
  36. chdir: "{{ server_cert_dir }}"