Browse Source

20160309 fix X509TrustManager issue

Ray Zhang 10 năm trước cách đây
mục cha
commit
81ddb6d761
1 tập tin đã thay đổi với 21 bổ sung9 xóa
  1. 21 9
      Apex/src/com/usai/util/Network.java

+ 21 - 9
Apex/src/com/usai/util/Network.java

@@ -260,8 +260,8 @@ public class Network
 				}
 				else
 				{
-					
-				return RESULT_TRUE;
+
+					return RESULT_TRUE;
 				}
 			}
 			return RESULT_NET_ERROR;
@@ -901,7 +901,7 @@ public class Network
 					jsobj = new JSONObject(jstr);
 					iresult = jsobj.getInt("result");
 				}
-				 if (iresult != Network.AP_USER_AUTH)
+				if (iresult != Network.AP_USER_AUTH)
 				{
 					// session expired
 					Log.d(TAG,
@@ -1352,13 +1352,25 @@ public class Network
 				{
 				}
 
+//				@Override
+//				public void checkServerTrusted(
+//						java.security.cert.X509Certificate[] chain,
+//						String authType)
+//						throws java.security.cert.CertificateException
+//				{
+//				}
 				@Override
-				public void checkServerTrusted(
-						java.security.cert.X509Certificate[] chain,
-						String authType)
-						throws java.security.cert.CertificateException
-				{
-				}
+				public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws java.security.cert.CertificateException {
+	                try {
+	                    chain[0].checkValidity();
+	                } catch (java.security.cert.CertificateExpiredException e) {
+	                   // Logger.e(TAG, "CertificateExpiredException");
+	                    throw new java.security.cert.CertificateException("CertificateExpiredException");
+	                } catch (java.security.cert.CertificateNotYetValidException e) {
+	                    //Logger.e(TAG, "CertificateNotYetValidException");
+	                    throw new java.security.cert.CertificateException("CertificateNotYetValidException");
+	                }
+	            }
 			};
 			sslContext.init(null, new TrustManager[] { tm }, null);
 		}