簡體   English   中英

如何在Android上為SSL套接字啟用自簽名證書?

[英]How to enable a self-signed certificate for SSL sockets on Android?

我有自簽名服務器證書(cert.pem),需要在Android應用程序中為SSL套接字啟用它。 理想情況下,我想將代碼打包為.jar文件,而不需要外部證書文件(即將其包含在代碼中)。

使用此代碼,我可以接受所有證書,這不是我想要的:

SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, new TrustManager [] { new MyTrustManager() }, new SecureRandom());

我是否需要將證書添加到自定義KeyManager或自定義TrustManager?

" 我遇到的一個問題是Android不接受JKS密鑰庫(KeyStore.getDefaultType()返回“BKS”):“

任何想法如何進行將非常感謝!

是的,您需要將證書添加到自定義KeyStore。 它基本上是一個分為四步的過程:

  1. 獲取服務器證書。
  2. 將服務器證書作為應用程序中的原始資源導入密鑰庫。 KeyStore類型必須是BKS。
  3. 在Java / Android程序中創建自己的TrustManager,將證書加載到SSLContext中。
  4. 將SSLContext用於SSL連接。

有關詳細說明和示例代碼,請參閱此鏈接:
http://randomizedsort.blogspot.com/2010/09/step-to-step-guide-to-programming.html

祝好運。
Nehc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM