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