def generate_jwks_into_db():
    (keyStoreType, keyStoreFilePath, storePass, keyalias, keyPass, keyalg,
     keysize, validity, dname) = yamlutil.get_jwt_info()
    now = int(time.time())
    validTo = int(validity) * 3600 * 24 + now
    sql = "INSERT INTO sigdb.JWK_INFO (KID,ALIAS,KEYPASS,STATUS,CURRENT_USE,VALID_FROM,VALID_TO) VALUES ('kid_" + keyalias + "','" + keyalias + "','" + keyPass + "','ACTIVE','Y','" + str(
        now) + "','" + str(validTo) + "');"
    cmd = 'mysqlclient -e "' + sql + '"'
    cmdutil.run_cmd(cmd)
def prepare_jwks_configuration():

    (keyStoreType, keyStoreFilePath, storePass, keyalias, keyPass, keyalg,
     keysize, validity, dname) = yamlutil.get_jwt_info()
    if os.path.exists(keyStoreFilePath):
        print keyStoreFilePath + " already exist,will not update jwks related configuration again!"
        return
    cmd = 'keytool -genkey -keystore ' + keyStoreFilePath + ' -storetype ' + keyStoreType + ' -storepass ' + storePass + ' -keypass ' + keyPass + ' -keyalg ' + keyalg + ' -alias ' + keyalias + ' -keysize ' + keysize + '  -dname "CN=IAM, OU=IAM, O=Ericsson, C=CN" -noprompt'
    cmdutil.run_cmd(cmd)
    generate_jwks_into_db()
    set_shared_cm_value("foundation-shared", "oauth.jwt.keyStoreType",
                        keyStoreType)
    set_shared_cm_value("foundation-shared", "oauth.jwt.keyStoreFilePath",
                        ' file:' + keyStoreFilePath)
    set_shared_cm_value("foundation-shared", "oauth.jwt.storePass", storePass)
    set_shared_cm_value("foundation-shared", "oauth.jwt.keyalias", keyalias)
    set_shared_cm_value("foundation-shared", "oauth.jwt.keyPass", keyPass)
def prepare_cpa_configuration_2():
    (cpaUrl, clientid, password, trustStoreType, trustStoreFile,
     trustStorePass) = yamlutil.get_cpa_info()

    cmd = "cm-cli set -k SEP/ece/17.1/DP-NotificationServer-Traffic/notification-server/3.0.0/rm.iam.cpa.url -v '" + cpaUrl + "' -y"
    cmdutil.run_cmd(cmd)

    cmd = "cm-cli set -k SEP/ece/17.1/DP-NotificationServer-Traffic/notification-server/3.0.0/iam.rm.adapter.cpa.clientid -v '" + clientid + "' -y"
    cmdutil.run_cmd(cmd)

    cmd = "cm-cli set -k SEP/ece/17.1/DP-NotificationServer-Traffic/notification-server/3.0.0/iam.rm.adapter.cpa.password -v '" + password + "' -y"
    cmdutil.run_cmd(cmd)

    cmd = "cm-cli set -k SEP/ece/17.1/DP-NotificationServer-Traffic/notification-server/3.0.0/iam.rm.adapter.cpa.truststore.type -v '" + trustStoreType + "' -y"
    cmdutil.run_cmd(cmd)

    cmd = "cm-cli set -k SEP/ece/17.1/DP-NotificationServer-Traffic/notification-server/3.0.0/iam.rm.adapter.cpa.truststore.file -v '" + trustStoreFile + "' -y"
    cmdutil.run_cmd(cmd)

    cmd = "cm-cli set -k SEP/ece/17.1/DP-NotificationServer-Traffic/notification-server/3.0.0/iam.rm.adapter.cpa.truststore.pass -v '" + trustStorePass + "' -y"
    cmdutil.run_cmd(cmd)
def set_shared_cm_value(component, item, value):
    cmd = "iam-dp-cli set-key -c " + component + " -V all -k " + item + " -v '" + value + "' -y"
    cmdutil.run_cmd(cmd)
def set_cm_value(DPname, component, item, value):
    cmd = "iam-dp-cli set-key -d " + DPname + " -c " + component + " -V all -k " + item + " -v '" + value + "' -y"
    cmdutil.run_cmd(cmd)