blob: bc7f0a60838dfa2369b678f8b1a26f68792bcf4e [file] [log] [blame]
---
- 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_filename}} {{ saml_private_key_size }}"
args:
chdir: "{{ saml_folder }}"
- name: Prep to remove passphrase from Key
copy:
dest: "{{ saml_folder }}/remove-passphrase-{{ sso_saml_service_provider_key_filename}}"
src: "{{ saml_folder }}/{{ sso_saml_service_provider_key_filename}}"
remote_src: yes
- name: Remove the passphrase from the key
shell: "openssl rsa -in remove-passphrase-{{ sso_saml_service_provider_key_filename}} -passin pass:{{ passphrase.stdout }} -out {{ sso_saml_service_provider_key_filename}}"
args:
chdir: "{{ saml_folder }}"
- name: Clean up passphrase removal file
file:
path: "{{ saml_folder }}/remove-passphrase-{{ sso_saml_service_provider_key_filename}}"
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_filename}} -out {{ saml_cert_signing_request }} -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 }} -signkey {{ sso_saml_service_provider_key_filename}} -out {{ sso_saml_service_provider_certificate_filename }}"
args:
chdir: "{{ saml_folder }}"
become: yes
#- name: Collect certificate files
# find:
# paths: "{{ saml_folder }}"
# patterns: '*.crt,*.key'
# register: certs
#- name: Set ownship of certs
# become: yes
# file:
# path: "{{ item.1.path }}"
# state: touch
# owner: "{{ opdk_user_name }}"
# group: "{{ opdk_group_name }}"
# with_subelements:
# - "{{ certs.results }}"
# - files