| package com.easysocket.config; | 
|   | 
| import javax.net.ssl.KeyManager; | 
| import javax.net.ssl.SSLSocketFactory; | 
| import javax.net.ssl.TrustManager; | 
|   | 
| /** | 
|  * socket的ssl配置 | 
|  */ | 
|   | 
| public class SocketSSLConfig { | 
|     /** | 
|      * 安全协议名称(缺省为SSL) | 
|      */ | 
|     private String mProtocol; | 
|     /** | 
|      * 信任证书管理器(缺省为X509) | 
|      */ | 
|     private TrustManager[] mTrustManagers; | 
|     /** | 
|      * 证书秘钥管理器(缺省为null) | 
|      */ | 
|     private KeyManager[] mKeyManagers; | 
|     /** | 
|      * 自定义SSLFactory(缺省为null) | 
|      */ | 
|     private SSLSocketFactory mCustomSSLFactory; | 
|   | 
|     private SocketSSLConfig() { | 
|   | 
|     } | 
|   | 
|     public static class Builder { | 
|   | 
|         private SocketSSLConfig mConfig; | 
|   | 
|         public Builder() { | 
|             mConfig = new SocketSSLConfig(); | 
|         } | 
|   | 
|         public Builder setProtocol(String protocol) { | 
|             mConfig.mProtocol = protocol; | 
|             return this; | 
|         } | 
|   | 
|         public Builder setTrustManagers(TrustManager[] trustManagers) { | 
|             mConfig.mTrustManagers = trustManagers; | 
|             return this; | 
|         } | 
|   | 
|         public Builder setKeyManagers(KeyManager[] keyManagers) { | 
|             mConfig.mKeyManagers = keyManagers; | 
|             return this; | 
|         } | 
|   | 
|         public Builder setCustomSSLFactory(SSLSocketFactory customSSLFactory) { | 
|             mConfig.mCustomSSLFactory = customSSLFactory; | 
|             return this; | 
|         } | 
|   | 
|         public SocketSSLConfig build() { | 
|             return mConfig; | 
|         } | 
|     } | 
|   | 
|     public KeyManager[] getKeyManagers() { | 
|         return mKeyManagers; | 
|     } | 
|   | 
|     public String getProtocol() { | 
|         return mProtocol; | 
|     } | 
|   | 
|     public TrustManager[] getTrustManagers() { | 
|         return mTrustManagers; | 
|     } | 
|   | 
|     public SSLSocketFactory getCustomSSLFactory() { | 
|         return mCustomSSLFactory; | 
|     } | 
| } |