##自定義信任管理器
###簡介
訪問Web應用的編程接口基本都封裝了SSL,使得訪問HTTPS和訪問HTTP一樣簡單。JSSE是一個SSL和TLS的純Java實現,可以透明地提供數據加密,服務器認證,信息完整性等功能,通過JSSE可以很容易由編程實現對HTTPS站點的訪問。客戶端在鏈接SSL服務器時,SSL服務器會將自己的正式鏈接交給客戶端驗證,如果在驗證鏈中發現存在無效的證書,客戶端會立即終止連接。
**客戶端訪問HTTPS鏈接時,有兩種方法能夠讓JSSE信任HTTPS服務器端的安全證書:**
1. 將HPPS服務器端的安全證書導入到客戶端的TrustStore文件中;
2. 實現自定義的信任管理器類。
第一種方法需要手工導入。
第二種則需要特別小心編碼實現,否則可能會留下安全隱患
###自定義信任管理器
自定義的信任管理器類需要實現X509TrustManager接口,并且實現該接口的3個方法,方法的介紹如下:
1. checkClientTrusted()方法:該方法用于檢查客戶端的證書,若不信任則拋出異常。由于我們不需要對客戶端進行認證,可以不做任何處理。
2. checkServerTrusted()方法:該方法用于檢查服務器端的證書,若不信任則拋出異常。通過自己實現該方法,可以使之信任我們這頂的任務證書。在實現該方法時,也可以不做任何處理,即一個空的方法實現,由于不會拋出異常,它就會信任任何證書。
3. getAcceptedIssures()方法:返回受信任的X509證書數組。
源代碼如下:
[MyX509TrustManager.java](http://www.hmoore.net/yongxin/wxapi/196781)