diff options
Diffstat (limited to 'sms-client/java')
-rw-r--r-- | sms-client/java/src/main/example/README.md | 7 | ||||
-rw-r--r-- | sms-client/java/src/main/example/SmsClientExample.java | 183 | ||||
-rw-r--r-- | sms-client/java/src/main/example/truststoreONAP.jks | bin | 0 -> 1408 bytes | |||
-rw-r--r-- | sms-client/java/src/main/java/org/onap/aaf/sms/SmsClient.java | 13 |
4 files changed, 130 insertions, 73 deletions
diff --git a/sms-client/java/src/main/example/README.md b/sms-client/java/src/main/example/README.md new file mode 100644 index 0000000..e96cefc --- /dev/null +++ b/sms-client/java/src/main/example/README.md @@ -0,0 +1,7 @@ +### Running the Sample Application +Make sure you run in the example folder as it looks for the truststore here + +``` +$ javac -cp ".:<PATH TO SMSCLIENT JAR FILE>" SmsClientExample.java +$ java -cp ".:<PATH TO SMSCLIENT JAR FILE>" SmsClientExample +``` diff --git a/sms-client/java/src/main/example/SmsClientExample.java b/sms-client/java/src/main/example/SmsClientExample.java index ca38adb..88956c5 100644 --- a/sms-client/java/src/main/example/SmsClientExample.java +++ b/sms-client/java/src/main/example/SmsClientExample.java @@ -39,84 +39,129 @@ import org.onap.aaf.sms.SmsResponse; */ public class SmsClientExample { - public static void main(String[] args) throws Exception { - // Set up the Sun PKCS 11 provider - Provider p = Security.getProvider("SunPKCS11-pkcs11Test"); - if (p==null) { - throw new RuntimeException("could not get security provider"); + + public static SSLSocketFactory getSSLSocketFactory(String castore) { + + try { + // Load the CA certificate + // There are no private keys in the truststore + FileInputStream tst = new FileInputStream("truststoreONAP.jks"); + KeyStore trustStore = KeyStore.getInstance("JKS"); + char[] password = "password".toCharArray(); + trustStore.load(tst, password); + TrustManagerFactory trustManagerFactory = + TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + trustManagerFactory.init(trustStore); + + //Create the context + SSLContext context = SSLContext.getInstance("TLSv1.2"); + context.init(null, trustManagerFactory.getTrustManagers(), new SecureRandom()); + //Create a socket factory + SSLSocketFactory ssf = context.getSocketFactory(); + return ssf; + } catch (Exception e) { + e.printStackTrace(); + return null; } - // Load the key store - char[] pin = "45789654".toCharArray(); - KeyStore keyStore = KeyStore.getInstance("PKCS11", p); - keyStore.load(null, pin); - - // Load the CA certificate - FileInputStream tst = new FileInputStream("/ca.jks"); - KeyStore trustStore = KeyStore.getInstance("JKS"); - trustStore.load(tst, pin); - - KeyManagerFactory keyManagerFactory = - KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); - //Add to keystore to key manager - keyManagerFactory.init(keyStore, pin); - - TrustManagerFactory trustManagerFactory = - TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); - trustManagerFactory.init(trustStore); - - //Create the context - SSLContext context = SSLContext.getInstance("TLS"); - context.init(keyManagerFactory.getKeyManagers(), - trustManagerFactory.getTrustManagers(), new SecureRandom()); - //Create a socket factory - SSLSocketFactory ssf = context.getSocketFactory(); - SmsClient sms = new SmsClient("onap.mydomain.com", 10443, ssf); - SmsResponse resp1 = sms.createDomain("onap.new.test.sms0"); - if ( resp1.getSuccess() ) { - System.out.println(resp1.getResponse()); - System.out.println(resp1.getResponseCode()); + } + + public static void main(String[] args) throws Exception { + + SSLSocketFactory ssf = SmsClientExample.getSSLSocketFactory("truststoreONAP.jks"); + + // Create the SMSClient + SmsClient sms = new SmsClient("aaf-sms.onap", 30243, ssf); + + // Create a test domain + System.out.println("CREATE DOMAIN: "); + SmsResponse resp = sms.createDomain("sms_test_domain"); + if ( resp.getSuccess() ) { + System.out.println("-- Return Code: " + resp.getResponseCode()); + System.out.println("-- Return Data: " + resp.getResponse()); + System.out.println(""); + } else { + System.out.println("-- Error String: " + resp.getErrorMessage()); + System.out.println(""); } - Map<String, Object> m1 = new HashMap<String, Object>(); - m1.put("passwd", "gax6ChD0yft"); - SmsResponse resp2 = sms.storeSecret("onap.new.test.sms0", "testsec", m1); - if ( resp2.getSuccess() ) { - System.out.println(resp2.getResponse()); - System.out.println(resp2.getResponseCode()); + + // Create secret data here + Map<String, Object> data_1 = new HashMap<String, Object>(); + data_1.put("passwd", "gax6ChD0yft"); + + // Store them in previously created domain + System.out.println("STORE SECRET: " + "test_secret"); + resp = sms.storeSecret("sms_test_domain", "test_secret", data_1); + if ( resp.getSuccess() ) { + System.out.println("-- Return Code: " + resp.getResponseCode()); + System.out.println(""); } - Map<String, Object> m2 = new HashMap<String, Object>(); - m2.put("username", "dbuser"); - m2.put("isadmin", new Boolean(true)); - m2.put("age", new Integer(40)); - m2.put("secretkey", "asjdhkuhioeukadfjsadnfkjhsdukfhaskdjhfasdf"); - m2.put("token", "2139084553458973452349230849234234908234342"); - SmsResponse resp3 = sms.storeSecret("onap.new.test.sms0","credentials", m2); - if ( resp3.getSuccess() ) { - System.out.println(resp3.getResponse()); - System.out.println(resp3.getResponseCode()); + + // A more complex data example on the same domain + Map<String, Object> data_2 = new HashMap<String, Object>(); + data_2.put("username", "dbuser"); + data_2.put("isadmin", new Boolean(true)); + data_2.put("age", new Integer(40)); + data_2.put("secretkey", "asjdhkuhioeukadfjsadnfkjhsdukfhaskdjhfasdf"); + data_2.put("token", "2139084553458973452349230849234234908234342"); + + // Store the secret + System.out.println("STORE SECRET: " + "test_credentials"); + resp = sms.storeSecret("sms_test_domain", "test_credentials", data_2); + if ( resp.getSuccess() ) { + System.out.println("-- Return Code: " + resp.getResponseCode()); + System.out.println(""); } - SmsResponse resp4 = sms.getSecretNames("onap.new.test.sms0"); - if ( resp4.getSuccess() ) { - System.out.println(resp4.getResponse()); - System.out.println(resp4.getResponseCode()); + + // List all secret names stored in domain + System.out.println("LIST SECRETS: "); + resp = sms.getSecretNames("sms_test_domain"); + if ( resp.getSuccess() ) { + System.out.println("-- Return Code: " + resp.getResponseCode()); + System.out.println("-- Return Data: " + resp.getResponse()); + System.out.println(""); } - SmsResponse resp5= sms.getSecret("onap.new.test.sms0", "testsec"); - if ( resp5.getSuccess() ) { - System.out.println(resp5.getResponse()); - System.out.println(resp5.getResponseCode()); + + // Retrieve a secret from stored domain + System.out.println("GET SECRET: " + "test_secret"); + resp= sms.getSecret("sms_test_domain", "test_secret"); + if ( resp.getSuccess() ) { + System.out.println("-- Return Code: " + resp.getResponseCode()); + System.out.println("-- Return Data: " + resp.getResponse()); + System.out.println(""); } - SmsResponse resp6= sms.getSecret("onap.new.test.sms0", "credentials"); - if ( resp6.getSuccess() ) { - Boolean b = (Boolean)resp6.getResponse().get("isadmin"); + + // Retrieve the second secret from stored domain + // getResponse() on the return value retrieves the + // map containing the key, values for the secret + System.out.println("GET SECRET: " + "test_credentials"); + resp= sms.getSecret("sms_test_domain", "test_credentials"); + if ( resp.getSuccess() ) { + System.out.println("-- Return Code: " + resp.getResponseCode()); + System.out.println("-- Return Data: " + resp.getResponse()); + + //conditional processing of returned data + Boolean b = (Boolean)resp.getResponse().get("isadmin"); + System.out.println("-- isadmin: " + b); if ( b ) - System.out.println("Age=" + (Integer)resp6.getResponse().get("age")); - System.out.println(resp6.getResponse()); - System.out.println(resp6.getResponseCode()); + System.out.println("-- age: " + (Integer)resp.getResponse().get("age")); + System.out.println(""); } - SmsResponse resp7=sms.deleteDomain("onap.new.test.sms0"); - if ( resp7.getSuccess() ) { - System.out.println(resp7.getResponse()); - System.out.println(resp7.getResponseCode()); + + // Delete the secret + System.out.println("DELETE SECRET: " + "test_credentials"); + resp=sms.deleteSecret("sms_test_domain", "test_credentials"); + if ( resp.getSuccess() ) { + System.out.println("-- Return Code: " + resp.getResponseCode()); + System.out.println(""); + } + + // Delete the domain + System.out.println("DELETE DOMAIN: " + "sms_test_domain"); + resp=sms.deleteDomain("sms_test_domain"); + if ( resp.getSuccess() ) { + System.out.println("-- Return Code: " + resp.getResponseCode()); + System.out.println(""); } } } diff --git a/sms-client/java/src/main/example/truststoreONAP.jks b/sms-client/java/src/main/example/truststoreONAP.jks Binary files differnew file mode 100644 index 0000000..a05bf47 --- /dev/null +++ b/sms-client/java/src/main/example/truststoreONAP.jks diff --git a/sms-client/java/src/main/java/org/onap/aaf/sms/SmsClient.java b/sms-client/java/src/main/java/org/onap/aaf/sms/SmsClient.java index 8bc88fe..f2d4923 100644 --- a/sms-client/java/src/main/java/org/onap/aaf/sms/SmsClient.java +++ b/sms-client/java/src/main/java/org/onap/aaf/sms/SmsClient.java @@ -139,8 +139,14 @@ public class SmsClient implements SmsInterface { // An implicit connection happens here errorcode = conn.getResponseCode(); if ( output && errorcode > 0 ) { - InputStream inputstream = conn.getInputStream(); - InputStreamReader inputstreamreader = new InputStreamReader(inputstream); + InputStream inputStream; + if ( errorcode/100 == 2) { + inputStream = conn.getInputStream(); + } else { + inputStream = conn.getErrorStream(); + } + + InputStreamReader inputstreamreader = new InputStreamReader(inputStream); BufferedReader bufferedreader = new BufferedReader(inputstreamreader); String response; @@ -149,7 +155,7 @@ public class SmsClient implements SmsInterface { save = save + response; } if ( !save.isEmpty() ) { - if ( errorcode/100 == 2 ) { + if ( errorcode/100 == 2) { resp.setResponse(strtomap(save)); } else { resp.setErrorMessage(save); @@ -157,7 +163,6 @@ public class SmsClient implements SmsInterface { } } } catch ( Exception e ) { - e.printStackTrace(); resp.setResponseCode(errorcode); return(resp); } |