updated sso
diff --git a/defaults/main.yml b/defaults/main.yml index e01fc81..30a1f15 100644 --- a/defaults/main.yml +++ b/defaults/main.yml
@@ -4,3 +4,13 @@ edge_sso_installation_config_filename: edge-sso-installer-config.conf edge_sso_installation_config_file: "{{ opdk_installer_path }}/{{ edge_sso_installation_config_filename }}" +verification_private_key: private_key.pem +signing_public_key: public_key.pem + +saml_server_key: server.key +saml_encryption_type: aes256 +saml_key_size: 1024 +saml_cert_signing_request: server.csr +saml_self_signed_cert: server.crt +saml_self_encryption_type: sha256 +saml_expiry_days: 365
diff --git a/tasks/create-private-key-and-self-signed-cert.yml b/tasks/create-private-key-and-self-signed-cert.yml new file mode 100644 index 0000000..9c3be64 --- /dev/null +++ b/tasks/create-private-key-and-self-signed-cert.yml
@@ -0,0 +1,48 @@ +--- +- name: Set SAML folder path + set_fact: + saml_folder: "{{ apigee_home }}/customer/application/apigee-sso/saml/" + +- name: Create SAML folder + file: + path: "{{ saml_folder }}" + state: directory + owner: "{{ opdk_user_name }}" + group: "{{ opdk_group_name }}" + +- name: Generate your private key with a passphrase + become: true + shell: "openssl genrsa -{{ saml_encryption_type }} -out {{ saml_server_key }} {{ saml_key_size }}" + args: + chdir: "{{ saml_folder }}" + +- name: Remove the passphrase from the key + become: yes + shell: "openssl rsa -in {{ saml_server_key }} -out {{ saml_server_key }}" + args: + chdir: "{{ saml_folder }}" + +- name: Generate certificate signing request for CA + become: yes + shell: "openssl req -x509 -sha256 -new -key {{ saml_server_key }} -out {{ saml_cert_signing_request }}" + +- name: Generate self-signed certificate with 365 days expiry-time + become: yes + shell: "openssl x509 -{{ saml_self_encryption_type }} -days {{ saml_expiry_days }} -in {{ saml_cert_signing_request }} -signkey {{ saml_server_key }} -out {{ saml_self_signed_cert }}" + +- name: Collect certificate files + find: + paths: "{{ saml_folder }}" + patterns: '*.crt,*.key' + register: certs + +- name: Set ownship of certs + file: + path: "{{ item.1.path }}" + state: touch + owner: "{{ opdk_user_name }}" + group: "{{ opdk_group_name }}" + with_subelements: + - "{{ certs.results }}" + - files +
diff --git a/tasks/create-verification-and-signing-key.yml b/tasks/create-verification-and-signing-key.yml new file mode 100644 index 0000000..6cbbb09 --- /dev/null +++ b/tasks/create-verification-and-signing-key.yml
@@ -0,0 +1,42 @@ +--- +- name: Set jwt-keys path + set_fact: + jwt_key_folder: "{{ apigee_home }}/customer/application/apigee-sso/jwt-keys" + +- name: Create folder for jwt-keys + become: yes + file: + path: "{{ jwt_key_folder }}" + state: directory + owner: "{{ opdk_user_name }}" + group: "{{ opdk_group_name }}" + +- name: Create Signing Key + become: yes + shell: "openssl genrsa -out {{ signing_private_key }} 2048" + args: + chdir: "{{ jwt_key_folder }}" + +- name: Generate Verification Key + become: yes + shell: "openssl rsa -pubout -in {{ signing_private_key }} -out {{ verification_public_key }}" + args: + chdir: "{{ jwt_key_folder }}" + +- name: Collect .pem files + find: + paths: "{{ jwt_key_folder }}" + patterns: '*.pem' + register: pems + +- name: Set ownship of certs + file: + path: "{{ item.1.path }}" + state: touch + owner: "{{ opdk_user_name }}" + group: "{{ opdk_group_name }}" + with_subelements: + - "{{ pems.results }}" + - files + +> sudo chown apigee:apigee *.pem \ No newline at end of file
diff --git a/tasks/main.yml b/tasks/main.yml index a2c7943..370d3b8 100644 --- a/tasks/main.yml +++ b/tasks/main.yml
@@ -1,5 +1,17 @@ --- # tasks file for apigee-opdk-setup-edge-sso +- name: Install openssh + become: yes + yum: + name: openssh + state: present + +- name: Create Private key and Self Signed Certificate Request + include_tasks: create-private-key-and-self-signed-cert.yml + +- name: Create Verification and Signing Key + include_tasks: create-verification-and-signing-key.yml + - name: Update cache with key and value cache: key: "{{ item.key }}"