X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cadi%2Faaf%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fcadi%2Fsso%2FAAFSSO.java;h=f2fb705796565aa02e9f3d7b3ef8286e0d685e3f;hb=ca76fbda94492f1b0c895ff0f4070381f17472f0;hp=522568a92b2132c2de56b7c7681b86097dabee94;hpb=4906c14f770e85452240fc8e04807b6114fab1ca;p=aaf%2Fauthz.git diff --git a/cadi/aaf/src/main/java/org/onap/aaf/cadi/sso/AAFSSO.java b/cadi/aaf/src/main/java/org/onap/aaf/cadi/sso/AAFSSO.java index 522568a9..f2fb7057 100644 --- a/cadi/aaf/src/main/java/org/onap/aaf/cadi/sso/AAFSSO.java +++ b/cadi/aaf/src/main/java/org/onap/aaf/cadi/sso/AAFSSO.java @@ -69,20 +69,28 @@ public class AAFSSO { private boolean ok; public AAFSSO(String[] args) throws IOException, CadiException { + this(args,new Properties()); + } + + public AAFSSO(String[] args, ProcessArgs pa) throws IOException, CadiException { + this(args,pa.process(args, new Properties())); + } + + public AAFSSO(String[] args, Properties dp) throws IOException, CadiException { + stdOutOrig = System.out; + stdErrOrig = System.err; ok = true; List nargs = parseArgs(args); - diskprops = new Properties(); + diskprops = dp; touchDiskprops = false; dot_aaf = new File(System.getProperty("user.home") + "/.aaf"); if (!dot_aaf.exists()) { dot_aaf.mkdirs(); } - stdOutOrig = System.out; - stdErrOrig = System.err; File f = new File(dot_aaf, "sso.out"); os = new PrintStream(new FileOutputStream(f, true)); - System.setOut(os); + //System.setOut(os); System.setErr(os); sso = new File(dot_aaf, "sso.props"); @@ -95,11 +103,6 @@ public class AAFSSO { } } -// String keyfile = diskprops.getProperty(Config.CADI_KEYFILE); -// if(keyfile==null) { -// keyfile = dot_aaf.getCanonicalPath()+".keyfile"; -// touchDiskprops=true; -// } File dot_aaf_kf = new File(dot_aaf, "keyfile"); if (removeSSO) { @@ -179,6 +182,13 @@ public class AAFSSO { appID=null; } + if(appID!=null && access.getProperty(Config.AAF_APPPASS)==null) { + char[] password = cons.readPassword("Password for %s: ", appID); + String app_pass = access.encrypt(new String(password)); + access.setProperty(Config.AAF_APPPASS,app_pass); + diskprops.setProperty(Config.AAF_APPPASS, app_pass); + } + String keystore=access.getProperty(Config.CADI_KEYSTORE); String keystore_pass=access.getProperty(Config.CADI_KEYSTORE_PASSWORD); @@ -188,6 +198,7 @@ public class AAFSSO { for (File tsf : dot_aaf.listFiles()) { name = tsf.getName(); if (!name.contains("trust") && (name.endsWith(".jks") || name.endsWith(".p12"))) { + setLogDefault(); select = cons.readLine("Use %s for Identity? (y/n): ",tsf.getName()); if("y".equalsIgnoreCase(select)) { keystore = tsf.getCanonicalPath(); @@ -287,22 +298,22 @@ public class AAFSSO { String locateUrl = access.getProperty(Config.AAF_LOCATE_URL); if(locateUrl==null) { - locateUrl=AAFSSO.cons.readLine("AAF Locator FQDN/machine[:port]=https://"); + locateUrl=AAFSSO.cons.readLine("AAF Locator URL=https://"); if(locateUrl==null || locateUrl.length()==0) { err = new StringBuilder(Config.AAF_LOCATE_URL); err.append(" is required."); ok = false; return; } else { - locateUrl="https://"+locateUrl+"/locate"; + locateUrl="https://"+locateUrl; } access.setProperty(Config.AAF_LOCATE_URL, locateUrl); addProp(Config.AAF_LOCATE_URL, locateUrl); } - String aafUrl = "https://AAF_LOCATE_URL/AAF_NS.service/2.0"; + String aafUrl = "https://AAF_LOCATE_URL/AAF_NS.service:2.0"; access.setProperty(Config.AAF_URL, aafUrl); - access.setProperty(Config.CM_URL, "https://AAF_LOCATE_URL/AAF_NS.cm/2.0"); + access.setProperty(Config.CM_URL, "https://AAF_LOCATE_URL/AAF_NS.cm:2.0"); String cadiLatitude = access.getProperty(Config.CADI_LATITUDE); if(cadiLatitude==null) { System.out.println("# If you do not know your Global Coordinates, we suggest bing.com/maps"); @@ -366,7 +377,7 @@ public class AAFSSO { public void setStdErrDefault() { access.setLogLevel(PropAccess.DEFAULT); - System.setOut(stdErrOrig); + System.setErr(stdErrOrig); } public void setLogDefault(Level level) { @@ -475,4 +486,8 @@ public class AAFSSO { public boolean ok() { return ok; } + + public static interface ProcessArgs { + public Properties process(final String[] args, final Properties props); + } }