| --- | 
 | - 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_filepath }}" | 
 | #      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_filepath}}" | 
 |       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 |