Remove Code from cadi, it is now in authz
[aaf/cadi.git] / client / src / main / java / org / onap / aaf / cadi / http / HX509SS.java
diff --git a/client/src/main/java/org/onap/aaf/cadi/http/HX509SS.java b/client/src/main/java/org/onap/aaf/cadi/http/HX509SS.java
deleted file mode 100644 (file)
index 0bdc843..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************\r
- * ============LICENSE_START====================================================\r
- * * org.onap.aaf\r
- * * ===========================================================================\r
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
- * * ===========================================================================\r
- * * Licensed under the Apache License, Version 2.0 (the "License");\r
- * * you may not use this file except in compliance with the License.\r
- * * You may obtain a copy of the License at\r
- * * \r
- *  *      http://www.apache.org/licenses/LICENSE-2.0\r
- * * \r
- *  * Unless required by applicable law or agreed to in writing, software\r
- * * distributed under the License is distributed on an "AS IS" BASIS,\r
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * * See the License for the specific language governing permissions and\r
- * * limitations under the License.\r
- * * ============LICENSE_END====================================================\r
- * *\r
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
- * *\r
- ******************************************************************************/\r
-package org.onap.aaf.cadi.http;\r
-\r
-import java.io.ByteArrayInputStream;\r
-import java.io.ByteArrayOutputStream;\r
-import java.io.IOException;\r
-import java.net.HttpURLConnection;\r
-import java.security.PrivateKey;\r
-import java.security.SecureRandom;\r
-import java.security.Signature;\r
-import java.security.cert.CertificateEncodingException;\r
-import java.security.cert.X509Certificate;\r
-\r
-import javax.net.ssl.HttpsURLConnection;\r
-import javax.net.ssl.X509KeyManager;\r
-\r
-import org.onap.aaf.cadi.CadiException;\r
-import org.onap.aaf.cadi.SecuritySetter;\r
-import org.onap.aaf.cadi.Symm;\r
-import org.onap.aaf.cadi.config.Config;\r
-import org.onap.aaf.cadi.config.SecurityInfoC;\r
-\r
-import org.onap.aaf.inno.env.APIException;\r
-import org.onap.aaf.inno.env.util.Chrono;\r
-\r
-\r
-public class HX509SS implements SecuritySetter<HttpURLConnection> {\r
-       private static final byte[] X509 = "x509 ".getBytes();\r
-       private PrivateKey priv;\r
-       private byte[] pub;\r
-       private String cert;\r
-       private SecurityInfoC<HttpURLConnection> securityInfo;\r
-       private String algo;\r
-       private String alias;\r
-       private static int count = new SecureRandom().nextInt();\r
-\r
-       public HX509SS(SecurityInfoC<HttpURLConnection> si) throws APIException, IOException, CertificateEncodingException {\r
-               this(null,si,false);\r
-       }\r
-       \r
-       public HX509SS(SecurityInfoC<HttpURLConnection> si, boolean asDefault) throws APIException, IOException, CertificateEncodingException {\r
-               this(null,si,asDefault);\r
-       }\r
-       \r
-       public HX509SS(final String sendAlias, SecurityInfoC<HttpURLConnection> si) throws APIException, IOException, CertificateEncodingException {\r
-               this(sendAlias, si, false);\r
-       }\r
-\r
-       public HX509SS(final String sendAlias, SecurityInfoC<HttpURLConnection> si, boolean asDefault) throws APIException, IOException, CertificateEncodingException {\r
-               securityInfo = si;\r
-               if((alias=sendAlias) == null) {\r
-                       if(si.default_alias == null) {\r
-                               throw new APIException("JKS Alias is required to use X509SS Security.  Use " + Config.CADI_ALIAS +" to set default alias");\r
-                       } else {\r
-                               alias = si.default_alias;\r
-                       }\r
-               }\r
-               \r
-               priv=null;\r
-               X509KeyManager[] xkms = si.getKeyManagers();\r
-               if(xkms==null || xkms.length==0) {\r
-                       throw new APIException("There are no valid keys available in given Keystores.  Wrong Keypass?  Expired?");\r
-               }\r
-               for(int i=0;priv==null&&i<xkms.length;++i) {\r
-                       priv = xkms[i].getPrivateKey(alias);\r
-               }\r
-               for(int i=0;cert==null&&i<xkms.length;++i) {\r
-                       X509Certificate[] chain = xkms[i].getCertificateChain(alias);\r
-                       if(chain!=null&&chain.length>0) {\r
-                               algo = chain[0].getSigAlgName(); \r
-                               pub = chain[0].getEncoded();\r
-                               ByteArrayOutputStream baos = new ByteArrayOutputStream(pub.length*2); \r
-                               ByteArrayInputStream bais = new ByteArrayInputStream(pub);\r
-                               Symm.base64noSplit.encode(bais,baos,X509);\r
-                               cert = baos.toString();\r
-                               \r
-                               /*\r
-                               // Inner Test code, uncomment if fix needed\r
-                               bais = new ByteArrayInputStream(baos.toByteArray());\r
-                               baos = new ByteArrayOutputStream(input.length*2);\r
-                               Symm.base64noSplit().decode(bais,baos,5);\r
-                               byte[] output = baos.toByteArray();\r
-                               String reconstitute = output.toString();\r
-                               System.out.println("ok");\r
-                               CertificateFactory certFactory;\r
-                               try {\r
-                                       bais = new ByteArrayInputStream(output);\r
-                                       certFactory = CertificateFactory.getInstance("X.509");\r
-                                       X509Certificate x509 = (X509Certificate)certFactory.generateCertificate(bais);\r
-                                       System.out.println(x509.toString());\r
-                               } catch (CertificateException e) {\r
-                                       e.printStackTrace();\r
-                               }\r
-                               */\r
-                       }\r
-               }\r
-               if(algo==null) {\r
-                       throw new APIException("X509 Security Setter not configured");\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void setSecurity(HttpURLConnection huc) throws CadiException {\r
-               if(huc instanceof HttpsURLConnection) {\r
-                       securityInfo.setSocketFactoryOn((HttpsURLConnection)huc);\r
-               }\r
-               if(alias==null) { // must be a one-way\r
-                       huc.setRequestProperty("Authorization", cert);\r
-                       \r
-                       // Test Signed content\r
-                       try {\r
-                               String data = "SignedContent["+ inc() + ']' + Chrono.dateTime();\r
-                               huc.setRequestProperty("Data", data);\r
-                               \r
-                               Signature sig = Signature.getInstance(algo);\r
-                               sig.initSign(priv);\r
-                               sig.update(data.getBytes());\r
-                               byte[] signature = sig.sign();\r
-                               \r
-                               ByteArrayOutputStream baos = new ByteArrayOutputStream((int)(signature.length*1.3));\r
-                               ByteArrayInputStream bais = new ByteArrayInputStream(signature);\r
-                               Symm.base64noSplit.encode(bais, baos);\r
-                               huc.setRequestProperty("Signature", new String(baos.toByteArray()));\r
-                               \r
-                       } catch (Exception e) {\r
-                               throw new CadiException(e);\r
-                       }\r
-               }\r
-       }\r
-       \r
-       private synchronized int inc() {\r
-               return ++count;\r
-       }\r
-       \r
-       /* (non-Javadoc)\r
-        * @see com.att.cadi.SecuritySetter#getID()\r
-        */\r
-       @Override\r
-       public String getID() {\r
-               return alias;\r
-       }\r
-       \r
-       @Override\r
-       public int setLastResponse(int respCode) {\r
-               return 0;\r
-       }\r
-}\r