Android HTTPS如何10分鍾實現自簽名SSL證書


前言

去年公司內一個應用加了支付寶支付功能,為了保證安全,支付請求鏈接寫成了https。

由於公司服務器使用的是的自簽名證書,而在Android系統中自己簽署的不能通過驗證的,所以會拋出錯誤。

於是我網上查找了很多資料,也嘗試過幾種方法,過程都很繁瑣,搞了一通宵都不行。

幸虧通過一個朋友找到了以下這個簡便的開源庫

https://github.com/lizhangqu/CoreUtil

然后用里面的 SSLUtil,10分鍾就解決了。

 

實現自簽名SSL證書

1.訪問以上開源庫網址下載SSLUtil

   

2.把服務器生成的自簽名證書cer文件放到在assets目錄下,這里以demo.cer做示范

 

3.初始化SSLSocketFactory

   在http請求類的constructor中添加以下代碼,這里以HttpRequest做示范

 socketFactory = SSLUtil.getSSLSocketFactory(context.getAssets().open("demo.cer"));

   

4.添加信任https證書

   在new OKHttpClient后添加以下代碼

 if (url.startsWith("https://") && socketFactory != null) {
client.setSslSocketFactory(socketFactory);
}

 

 

以上這幾步就是全部步驟了,如果你還是覺得麻煩,推薦使用Android-ZBLibray這個Android快速開發框架,里面自簽名已全部封裝好,只需替換下demo.cer文件即可。

 

Android快速開發框架-ZBLibrary 源碼下載地址如下:

https://github.com/TommyLemon/Android-ZBLibrary

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM