Author: arunpatidar
Date: Sat Jul  2 08:50:31 2016
New Revision: 1751040

URL: http://svn.apache.org/viewvc?rev=1751040&view=rev
Log:
Applied patch from jira issue - OFBIZ-7551 - Enforce noninstantiability to 
SSLUtil class. Thanks Rishi solanki and Rohit Koushal for your contribution.

Modified:
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/HttpClient.java
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/SSLUtil.java
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/URLConnector.java
    
ofbiz/trunk/framework/service/src/org/ofbiz/service/xmlrpc/AliasSupportedTransportFactory.java
    
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/test/WidgetMacroLibraryTests.java
    ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisServices.java

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/HttpClient.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/HttpClient.java?rev=1751040&r1=1751039&r2=1751040&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/HttpClient.java 
(original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/HttpClient.java Sat Jul  
2 08:50:31 2016
@@ -40,7 +40,7 @@ public class HttpClient {
 
     public static final String module = HttpClient.class.getName();
 
-    private int hostVerification = SSLUtil.HOSTCERT_NORMAL_CHECK;
+    private int hostVerification = SSLUtil.getHostCertNormalCheck();
     private int timeout = 30000;
     private boolean debug = false;
     private boolean lineFeed = true;

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/SSLUtil.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/SSLUtil.java?rev=1751040&r1=1751039&r2=1751040&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/SSLUtil.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/SSLUtil.java Sat Jul  2 
08:50:31 2016
@@ -49,20 +49,57 @@ import org.ofbiz.base.config.GenericConf
  * KeyStoreUtil - Utilities for setting up SSL connections with specific 
client certificates
  *
  */
-public class SSLUtil {
+public final class SSLUtil {
 
     public static final String module = SSLUtil.class.getName();
 
-    public static final int HOSTCERT_NO_CHECK = 0;
-    public static final int HOSTCERT_MIN_CHECK = 1;
-    public static final int HOSTCERT_NORMAL_CHECK = 2;
+    private static final int HOSTCERT_NO_CHECK = 0;
+    private static final int HOSTCERT_MIN_CHECK = 1;
+    private static final int HOSTCERT_NORMAL_CHECK = 2;
 
     private static boolean loadedProps = false;
 
+    private SSLUtil () {}
+
     static {
         SSLUtil.loadJsseProperties();
     }
 
+    private static class TrustAnyManager implements X509TrustManager {
+
+        public void checkClientTrusted(X509Certificate[] certs, String string) 
throws CertificateException {
+            Debug.logImportant("Trusting (un-trusted) client certificate 
chain:", module);
+            for (X509Certificate cert: certs) {
+                Debug.logImportant("---- " + 
cert.getSubjectX500Principal().getName() + " valid: " + cert.getNotAfter(), 
module);
+
+            }
+        }
+
+        public void checkServerTrusted(X509Certificate[] certs, String string) 
throws CertificateException {
+            Debug.logImportant("Trusting (un-trusted) server certificate 
chain:", module);
+            for (X509Certificate cert: certs) {
+                Debug.logImportant("---- " + 
cert.getSubjectX500Principal().getName() + " valid: " + cert.getNotAfter(), 
module);
+            }
+        }
+
+        public X509Certificate[] getAcceptedIssuers() {
+            return new X509Certificate[0];
+        }
+    }
+
+
+    public static int getHostCertNoCheck() {
+        return HOSTCERT_NO_CHECK;
+    }
+
+    public static int getHostCertMinCheck() {
+        return HOSTCERT_MIN_CHECK;
+    }
+
+    public static int getHostCertNormalCheck() {
+        return HOSTCERT_NORMAL_CHECK;
+    }
+
     public static boolean isClientTrusted(X509Certificate[] chain, String 
authType) {
         TrustManager[] mgrs = new TrustManager[0];
         try {
@@ -278,26 +315,4 @@ public class SSLUtil {
             loadedProps = true;
         }
     }
-
-    static class TrustAnyManager implements X509TrustManager {
-
-        public void checkClientTrusted(X509Certificate[] certs, String string) 
throws CertificateException {
-            Debug.logImportant("Trusting (un-trusted) client certificate 
chain:", module);
-            for (X509Certificate cert: certs) {
-                Debug.logImportant("---- " + 
cert.getSubjectX500Principal().getName() + " valid: " + cert.getNotAfter(), 
module);
-
-            }
-        }
-
-        public void checkServerTrusted(X509Certificate[] certs, String string) 
throws CertificateException {
-            Debug.logImportant("Trusting (un-trusted) server certificate 
chain:", module);
-            for (X509Certificate cert: certs) {
-                Debug.logImportant("---- " + 
cert.getSubjectX500Principal().getName() + " valid: " + cert.getNotAfter(), 
module);
-            }
-        }
-
-        public X509Certificate[] getAcceptedIssuers() {
-            return new X509Certificate[0];
-        }
-    }
 }

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/URLConnector.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/URLConnector.java?rev=1751040&r1=1751039&r2=1751040&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/URLConnector.java 
(original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/URLConnector.java Sat 
Jul  2 08:50:31 2016
@@ -81,11 +81,11 @@ public class URLConnector {
     }
 
     public static URLConnection openConnection(URL url, int timeout) throws 
IOException {
-        return openConnection(url, timeout, null, 
SSLUtil.HOSTCERT_NORMAL_CHECK);
+        return openConnection(url, timeout, null, 
SSLUtil.getHostCertNormalCheck());
     }
 
     public static URLConnection openConnection(URL url, String 
clientCertAlias) throws IOException {
-        return openConnection(url, 30000, clientCertAlias, 
SSLUtil.HOSTCERT_NORMAL_CHECK);
+        return openConnection(url, 30000, clientCertAlias, 
SSLUtil.getHostCertNormalCheck());
     }
 
     public static URLConnection openConnection(URL url, int timeout, String 
clientCertAlias, int hostCertLevel) throws IOException {
@@ -99,11 +99,11 @@ public class URLConnector {
     }
 
     public static URLConnection openUntrustedConnection(URL url, int timeout) 
throws IOException {
-        return openConnection(url, timeout, null, 
SSLUtil.HOSTCERT_NORMAL_CHECK);
+        return openConnection(url, timeout, null, 
SSLUtil.getHostCertNormalCheck());
     }
 
     public static URLConnection openUntrustedConnection(URL url, String 
clientCertAlias) throws IOException {
-        return openConnection(url, 30000, clientCertAlias, 
SSLUtil.HOSTCERT_NORMAL_CHECK);
+        return openConnection(url, 30000, clientCertAlias, 
SSLUtil.getHostCertNormalCheck());
     }
 
     public static URLConnection openUntrustedConnection(URL url, int timeout, 
String clientCertAlias, int hostCertLevel) throws IOException {

Modified: 
ofbiz/trunk/framework/service/src/org/ofbiz/service/xmlrpc/AliasSupportedTransportFactory.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/xmlrpc/AliasSupportedTransportFactory.java?rev=1751040&r1=1751039&r2=1751040&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/service/src/org/ofbiz/service/xmlrpc/AliasSupportedTransportFactory.java
 (original)
+++ 
ofbiz/trunk/framework/service/src/org/ofbiz/service/xmlrpc/AliasSupportedTransportFactory.java
 Sat Jul  2 08:50:31 2016
@@ -98,7 +98,7 @@ public class AliasSupportedTransportFact
                 HttpsURLConnection scon = (HttpsURLConnection) con;
                 try {
                     scon.setSSLSocketFactory(SSLUtil.getSSLSocketFactory(ks, 
password, alias));
-                    
scon.setHostnameVerifier(SSLUtil.getHostnameVerifier(SSLUtil.HOSTCERT_MIN_CHECK));
+                    
scon.setHostnameVerifier(SSLUtil.getHostnameVerifier(SSLUtil.getHostCertMinCheck()));
                 } catch (GeneralException e) {
                     throw new IOException(e.getMessage());
                 } catch (GeneralSecurityException e) {

Modified: 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/test/WidgetMacroLibraryTests.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/test/WidgetMacroLibraryTests.java?rev=1751040&r1=1751039&r2=1751040&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/test/WidgetMacroLibraryTests.java
 (original)
+++ 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/test/WidgetMacroLibraryTests.java
 Sat Jul  2 08:50:31 2016
@@ -50,7 +50,7 @@ public class WidgetMacroLibraryTests ext
         HttpClient http = new HttpClient();
         http.followRedirects(true);
         http.setAllowUntrusted(true);
-        http.setHostVerificationLevel(SSLUtil.HOSTCERT_NO_CHECK);
+        http.setHostVerificationLevel(SSLUtil.getHostCertNoCheck());
         return http;
     }
 

Modified: 
ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisServices.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisServices.java?rev=1751040&r1=1751039&r2=1751040&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisServices.java 
(original)
+++ ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisServices.java Sat 
Jul  2 08:50:31 2016
@@ -703,7 +703,7 @@ public class OagisServices {
             HttpClient http = new HttpClient(sendToUrl);
 
             // test parameters
-            http.setHostVerificationLevel(SSLUtil.HOSTCERT_NO_CHECK);
+            http.setHostVerificationLevel(SSLUtil.getHostCertNoCheck());
             http.setAllowUntrusted(true);
             http.setDebug(true);
 


Reply via email to