dc0e776cef36ca8ee8c271c5948862f3f888c0ea
[aaf/sms.git] / sms-client / java / src / main / example / SmsClientExample.java
1 /*
2  * Copyright 2018 Intel Corporation, Inc
3  *
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
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 import java.io.FileInputStream;
18 import java.lang.Boolean;
19 import java.lang.Integer;
20 import java.net.URL;
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;
32 import java.util.Map;
33 import org.onap.aaf.sms.SmsClient;
34 import org.onap.aaf.sms.SmsResponse;
35
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");
40         if (p==null) {
41             throw new RuntimeException("could not get security provider");
42         }
43
44         // Load the key store
45         char[] pin = "45789654".toCharArray();
46         KeyStore keyStore = KeyStore.getInstance("PKCS11", p);
47         keyStore.load(null, pin);
48
49         // Load the CA certificate
50         FileInputStream tst = new FileInputStream("/ca.jks");
51         KeyStore trustStore = KeyStore.getInstance("JKS");
52         trustStore.load(tst, pin);
53
54         KeyManagerFactory keyManagerFactory =
55              KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
56         //Add to keystore to key manager
57         keyManagerFactory.init(keyStore, pin);
58
59         TrustManagerFactory trustManagerFactory =
60              TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
61         trustManagerFactory.init(trustStore);
62
63         //Create the context
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());
75         }
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());
82         }
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());
93         }
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());
98         }
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());
103         }
104         SmsResponse resp6= sms.getSecret("onap.new.test.sms0", "credentials");
105         if ( resp6.getSuccess() ) {
106             Boolean b = (Boolean)resp6.getResponse().get("isadmin");
107             if ( b )
108                 System.out.println("Age=" + (Integer)resp6.getResponse().get("age"));
109             System.out.println(resp6.getResponse());
110             System.out.println(resp6.getResponseCode());
111         }
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());
116         }
117     }
118 }