encryption/decryption utility
[optf/osdf.git] / osdf / adapters / aaf / sms.py
index 25ae7f2..fd3a5d5 100644 (file)
@@ -1,6 +1,7 @@
 #
 # -------------------------------------------------------------------------
 #   Copyright (c) 2018 Intel Corporation Intellectual Property
+#   Copyright (C) 2020 Wipro Limited.
 #
 #   Licensed under the Apache License, Version 2.0 (the "License");
 #   you may not use this file except in compliance with the License.
 '''Secret Management Service Integration'''
 
 from onapsmsclient import Client
-
 import osdf.config.base as cfg_base
 import osdf.config.credentials as creds
 import osdf.config.loader as config_loader
 from osdf.config.base import osdf_config
 from osdf.logging.osdf_logging import debug_log
+from osdf.utils import cipherUtils
 
 config_spec = {
     "preload_secrets": "config/preload_secrets.yaml"
@@ -70,40 +71,46 @@ def retrieve_secrets():
     debug_log.debug("Secret Dictionary Retrieval Success")
     return secret_dict
 
-
 def load_secrets():
     config = osdf_config.deployment
     secret_dict = retrieve_secrets()
     config['soUsername'] = secret_dict['so']['UserName']
-    config['soPassword'] = secret_dict['so']['Password']
+    config['soPassword'] = decrypt_pass(secret_dict['so']['Password'])
     config['conductorUsername'] = secret_dict['conductor']['UserName']
-    config['conductorPassword'] = secret_dict['conductor']['Password']
+    config['conductorPassword'] = decrypt_pass(secret_dict['conductor']['Password'])
     config['policyPlatformUsername'] = secret_dict['policyPlatform']['UserName']
-    config['policyPlatformPassword'] = secret_dict['policyPlatform']['Password']
-    config['policyClientUsername'] = secret_dict['policyClient']['UserName']
-    config['policyClientPassword'] = secret_dict['policyClient']['Password']
+    config['policyPlatformPassword'] = decrypt_pass(secret_dict['policyPlatform']['Password'])
+    config['policyClientUsername'] = secret_dict['policyPlatform']['UserName']
+    config['policyClientPassword'] = decrypt_pass(secret_dict['policyPlatform']['Password'])
     config['messageReaderAafUserId'] = secret_dict['dmaap']['UserName']
-    config['messageReaderAafPassword'] = secret_dict['dmaap']['Password']
+    config['messageReaderAafPassword'] = decrypt_pass(secret_dict['dmaap']['Password'])
     config['sdcUsername'] = secret_dict['sdc']['UserName']
-    config['sdcPassword'] = secret_dict['sdc']['Password']
+    config['sdcPassword'] = decrypt_pass(secret_dict['sdc']['Password'])
     config['osdfPlacementUsername'] = secret_dict['osdfPlacement']['UserName']
-    config['osdfPlacementPassword'] = secret_dict['osdfPlacement']['Password']
+    config['osdfPlacementPassword'] = decrypt_pass(secret_dict['osdfPlacement']['Password'])
     config['osdfPlacementSOUsername'] = secret_dict['osdfPlacementSO']['UserName']
-    config['osdfPlacementSOPassword'] = secret_dict['osdfPlacementSO']['Password']
+    config['osdfPlacementSOPassword'] = decrypt_pass(secret_dict['osdfPlacementSO']['Password'])
     config['osdfPlacementVFCUsername'] = secret_dict['osdfPlacementVFC']['UserName']
-    config['osdfPlacementVFCPassword'] = secret_dict['osdfPlacementVFC']['Password']
+    config['osdfPlacementVFCPassword'] = decrypt_pass(secret_dict['osdfPlacementVFC']['Password'])
     config['osdfCMSchedulerUsername'] = secret_dict['osdfCMScheduler']['UserName']
-    config['osdfCMSchedulerPassword'] = secret_dict['osdfCMScheduler']['Password']
+    config['osdfCMSchedulerPassword'] = decrypt_pass(secret_dict['osdfCMScheduler']['Password'])
     config['configDbUserName'] = secret_dict['configDb']['UserName']
-    config['configDbPassword'] = secret_dict['configDb']['Password']
+    config['configDbPassword'] = decrypt_pass(secret_dict['configDb']['Password'])
     config['pciHMSUsername'] = secret_dict['pciHMS']['UserName']
-    config['pciHMSPassword'] = secret_dict['pciHMS']['Password']
+    config['pciHMSPassword'] = decrypt_pass(secret_dict['pciHMS']['Password'])
     config['osdfPCIOptUsername'] = secret_dict['osdfPCIOpt']['UserName']
-    config['osdfPCIOptPassword'] = secret_dict['osdfPCIOpt']['Password']
+    config['osdfPCIOptPassword'] = decrypt_pass(secret_dict['osdfPCIOpt']['Password'])
     cfg_base.http_basic_auth_credentials = creds.load_credentials(osdf_config)
     cfg_base.dmaap_creds = creds.dmaap_creds()
 
 
+def decrypt_pass(passwd):
+    if passwd == '' or passwd == 'NA':
+        return passwd
+    else:
+        return cipherUtils.AESCipher.get_instance().decrypt(passwd)
+
+
 def delete_secrets():
     """ This is intended to delete the secrets for a clean initialization for
         testing Application. Actual deployment will have a preload script.