2012-08-01 111 views
3

我經歷了this linkAndroid HTTPS連接基礎知識

我有一些幾個問題:

什麼是密鑰庫?我需要執行什麼和爲什麼?

2.什麼是TrustManagerFactory和什麼是在這種情況下'X509'?請回答是「X509」以外的其他內容。

3.我應該從我的web服務器應用程序團隊知道或諮詢哪些詳細信息?我是否需要了解任何類型的證書或其他內容?

我的問題情景:我想要做的是通過網絡檢索一些XML字符串,它必須得到保護,因爲它有點敏感。

我在等你的答案。

回答

0

您可能不需要詳細研究HTTPS以保護您的XML。要使用HTTPS,您大多隻需要爲您的域獲取官方的SSL證書,然後在您的服務器中使用它。然後,HTTP瀏覽器,WebView或Java HTTPClient中的HTTP客戶端將知道如何處理它。

+0

我已經有證書。我需要使用HttpsURLConnection還是簡單地使用HttpUrlConnection? – Debopam 2012-08-01 10:28:38

+0

HttpUrlConnection將工作。請參閱http://developer.android.com/reference/java/net/HttpURLConnection.html中的「使用HTTPS進行安全通信」。 – 2012-08-01 15:10:26

0

閱讀Java SSL實現JSSE documentation獲取一些基礎知識和觀點。

  1. 密鑰庫存儲密鑰或證書。如果頒發了您的服務器證書的CA受到Android的信任(即,它已經安裝在系統信任庫中),則不需要混淆密鑰庫。它應該只是工作。如果不是,您可能需要創建自己的信任庫,如果它是自簽名的,則包含服務器的證書,如果不是,則包含頒發CA的證書。

  2. TrustManagerFactory產生TrustManager。它會告訴你的應用/系統要信任的證書。從技術上講,除X.509之外還可能有其他實現,但實際上這是唯一使用的實現。

  3. 請參閱1.詢問他們是誰頒發了證書。或者只需使用瀏覽器訪問網站。如果您收到警告或錯誤,則事情可能會稍微複雜一些,因爲默認情況下,Android很可能不會信任服務器證書。如果不是,您的應用只能使用https://myserver/sevice類型的網址,而不能使用http://

+0

在我的瀏覽器中沒有警告沒有錯誤。只是一個綠色的鎖定標誌。 那麼這是否意味着簡單的HttpUrlConnection將用於獲取目的? – Debopam 2012-08-01 10:30:47

+0

在大多數情況下,是的。你試過了嗎? – 2012-08-01 14:11:10