59 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| package com.novelbook.android.netutils;
 | |
| 
 | |
| import java.security.SecureRandom;
 | |
| import java.security.cert.X509Certificate;
 | |
| 
 | |
| import javax.net.ssl.HostnameVerifier;
 | |
| import javax.net.ssl.SSLContext;
 | |
| import javax.net.ssl.SSLSession;
 | |
| import javax.net.ssl.SSLSocketFactory;
 | |
| import javax.net.ssl.TrustManager;
 | |
| import javax.net.ssl.X509TrustManager;
 | |
| 
 | |
| public class SSLSocketClient {
 | |
| 
 | |
|     //获取这个SSLSocketFactory
 | |
|     public static SSLSocketFactory getSSLSocketFactory() {
 | |
|         try {
 | |
|             SSLContext sslContext = SSLContext.getInstance("SSL");
 | |
|             sslContext.init(null, getTrustManager(), new SecureRandom());
 | |
|             return sslContext.getSocketFactory();
 | |
|         } catch (Exception e) {
 | |
|             throw new RuntimeException(e);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     //获取TrustManager
 | |
|     private static TrustManager[] getTrustManager() {
 | |
|         TrustManager[] trustAllCerts = new TrustManager[]{
 | |
|                 new X509TrustManager() {
 | |
|                     @Override
 | |
|                     public void checkClientTrusted(X509Certificate[] chain, String authType) {
 | |
|                     }
 | |
| 
 | |
|                     @Override
 | |
|                     public void checkServerTrusted(X509Certificate[] chain, String authType) {
 | |
|                     }
 | |
| 
 | |
|                     @Override
 | |
|                     public X509Certificate[] getAcceptedIssuers() {
 | |
|                         return new X509Certificate[]{};
 | |
|                     }
 | |
|                 }
 | |
|         };
 | |
|         return trustAllCerts;
 | |
|     }
 | |
| 
 | |
|     //获取HostnameVerifier
 | |
|     public static HostnameVerifier getHostnameVerifier() {
 | |
|         HostnameVerifier hostnameVerifier = new HostnameVerifier() {
 | |
|             @Override
 | |
|             public boolean verify(String s, SSLSession sslSession) {
 | |
|                 return true;
 | |
|             }
 | |
|         };
 | |
|         return hostnameVerifier;
 | |
|     }
 | |
| 
 | |
| }
 |