2 * Copyright 2018 Intel Corporation, Inc
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 import java.io.FileInputStream;
18 import java.lang.Boolean;
19 import java.lang.Integer;
21 import javax.net.ssl.HttpsURLConnection;
22 import javax.net.ssl.KeyManagerFactory;
23 import javax.net.ssl.SSLContext;
24 import javax.net.ssl.SSLSessionContext;
25 import javax.net.ssl.SSLSocketFactory;
26 import javax.net.ssl.TrustManagerFactory;
27 import java.security.KeyStore;
28 import java.security.Provider;
29 import java.security.SecureRandom;
30 import java.security.Security;
31 import java.util.HashMap;
33 import org.onap.aaf.sms.SmsClient;
34 import org.onap.aaf.sms.SmsResponse;
36 public class SmsClientExample {
37 public static void main(String[] args) throws Exception {
38 // Set up the Sun PKCS 11 provider
39 Provider p = Security.getProvider("SunPKCS11-pkcs11Test");
41 throw new RuntimeException("could not get security provider");
45 char[] pin = "45789654".toCharArray();
46 KeyStore keyStore = KeyStore.getInstance("PKCS11", p);
47 keyStore.load(null, pin);
49 // Load the CA certificate
50 FileInputStream tst = new FileInputStream("/ca.jks");
51 KeyStore trustStore = KeyStore.getInstance("JKS");
52 trustStore.load(tst, pin);
54 KeyManagerFactory keyManagerFactory =
55 KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
56 //Add to keystore to key manager
57 keyManagerFactory.init(keyStore, pin);
59 TrustManagerFactory trustManagerFactory =
60 TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
61 trustManagerFactory.init(trustStore);
64 SSLContext context = SSLContext.getInstance("TLS");
65 context.init(keyManagerFactory.getKeyManagers(),
66 trustManagerFactory.getTrustManagers(), new SecureRandom());
67 //Create a socket factory
68 SSLSocketFactory ssf = context.getSocketFactory();
69 SSLSessionContext sessCtx = context.getServerSessionContext();
70 SmsClient sms = new SmsClient("onap.mydomain.com", 10443, ssf);
71 SmsResponse resp1 = sms.createDomain("onap.new.test.sms0");
72 if ( resp1.getSuccess() ) {
73 System.out.println(resp1.getResponse());
74 System.out.println(resp1.getResponseCode());
76 Map<String, Object> m1 = new HashMap<String, Object>();
77 m1.put("passwd", "gax6ChD0yft");
78 SmsResponse resp2 = sms.storeSecret("onap.new.test.sms0", "testsec", m1);
79 if ( resp2.getSuccess() ) {
80 System.out.println(resp2.getResponse());
81 System.out.println(resp2.getResponseCode());
83 Map<String, Object> m2 = new HashMap<String, Object>();
84 m2.put("username", "dbuser");
85 m2.put("isadmin", new Boolean(true));
86 m2.put("age", new Integer(40));
87 m2.put("secretkey", "asjdhkuhioeukadfjsadnfkjhsdukfhaskdjhfasdf");
88 m2.put("token", "2139084553458973452349230849234234908234342");
89 SmsResponse resp3 = sms.storeSecret("onap.new.test.sms0","credentials", m2);
90 if ( resp3.getSuccess() ) {
91 System.out.println(resp3.getResponse());
92 System.out.println(resp3.getResponseCode());
94 SmsResponse resp4 = sms.getSecretNames("onap.new.test.sms0");
95 if ( resp4.getSuccess() ) {
96 System.out.println(resp4.getResponse());
97 System.out.println(resp4.getResponseCode());
99 SmsResponse resp5= sms.getSecret("onap.new.test.sms0", "testsec");
100 if ( resp5.getSuccess() ) {
101 System.out.println(resp5.getResponse());
102 System.out.println(resp5.getResponseCode());
104 SmsResponse resp6= sms.getSecret("onap.new.test.sms0", "credentials");
105 if ( resp6.getSuccess() ) {
106 Boolean b = (Boolean)resp6.getResponse().get("isadmin");
108 System.out.println("Age=" + (Integer)resp6.getResponse().get("age"));
109 System.out.println(resp6.getResponse());
110 System.out.println(resp6.getResponseCode());
112 SmsResponse resp7=sms.deleteDomain("onap.new.test.sms0");
113 if ( resp7.getSuccess() ) {
114 System.out.println(resp7.getResponse());
115 System.out.println(resp7.getResponseCode());