blob: 9fa243cbbf7b5282c421f860fa9a43d51ed03c33 [file] [log] [blame] [edit]
---
- name: Assert that service provider key file exists
stat:
path: "{{ sso_saml_service_provider_key_file_path }}"
register: key
- block:
- name: Create SAML folder
file:
path: "{{ saml_folder }}"
state: directory
owner: "{{ opdk_user_name }}"
group: "{{ opdk_group_name }}"
- name: Generate a passphrase
command: "openssl rand -base64 48"
args:
chdir: "{{ saml_folder }}"
register: passphrase
- name: Generate your private key with a passphrase
command: "openssl genrsa -{{ saml_private_encryption_type }} -passout pass:{{ passphrase.stdout }} -out {{ sso_saml_service_provider_key_file_name}} {{ saml_private_key_size }}"
args:
chdir: "{{ saml_folder }}"
# - name: Calculate 365 days
# command: date -d '+365 days' +%y%m%d%H%M
# register: expiry
#
# - name: Generate your private key with a passphrase
# openssl_certificate:
# path: "{{ sso_saml_service_provider_certificate_file_name }}"
# privatekey_path: "{{ sso_saml_service_provider_key_file_path }}"
# csr_path: "{{ saml_cert_signing_request_file_name }}"
# provider: selfsigned
# subject: "{{ saml_cert_subject }}"
# state: present
# not_after: "{{ expiry.stdout }}"
- name: Prep to remove passphrase from Key
copy:
dest: "{{ saml_folder }}/remove-passphrase-{{ sso_saml_service_provider_key_file_name}}"
src: "{{ sso_saml_service_provider_key_file_path}}"
remote_src: yes
- name: Remove the passphrase from the key
shell: "openssl rsa -in remove-passphrase-{{ sso_saml_service_provider_key_file_name}} -passin pass:{{ passphrase.stdout }} -out {{ sso_saml_service_provider_key_file_name}}"
args:
chdir: "{{ saml_folder }}"
- name: Clean up passphrase removal file
file:
path: "{{ saml_folder }}/remove-passphrase-{{ sso_saml_service_provider_key_file_name}}"
state: absent
- name: Generate certificate signing request for CA
shell: "openssl req -x509 -sha256 -new -passin pass:{{ passphrase.stdout }} -key {{ sso_saml_service_provider_key_file_name}} -out {{ saml_cert_signing_request_file_name }} -subj {{ saml_cert_subject }}"
args:
chdir: "{{ saml_folder }}"
- name: Generate self-signed certificate with 365 days expiry-time
shell: "openssl x509 -{{ saml_cert_encryption_type }} -days {{ saml_cert_expiry_days }} -in {{ saml_cert_signing_request_file_name }} -signkey {{ sso_saml_service_provider_key_file_name}} -out {{ sso_saml_service_provider_certificate_file_name }}"
args:
chdir: "{{ saml_folder }}"
become: yes
when: key.stat.exists == false