2011-02-14 35 views
0

我正在開發Android應用程序,並且作爲其中一部分,我必須連接到HTTPS主機。 此主機用戶使用Android無法識別的安全證書! 這是一個有效的證書,但它不是由Android的信任......Android:在做URL時繞過安全證書檢查。連接

系統specefically引發安全異常:

Url = new URL("https://example.com"); 
url_connection = (HttpsURLConnection) Url.openConnection(); 
url_connection.connect(); // This is where the exception is raised ! 

由於:作爲顯示

我的代碼證書不被信任

例外情況,連接未打開! 我想跳過證書驗證......或者不知怎麼的,不應該引發異常,連接應該打開......

我將在成功連接後在下一步驗證證書..這是我的應用程序的一部分,因此在連接時,我想跳過這個..

我已經搜索了類似的問題,但沒有答案適合我... 我試過創建我自己的SSL工廠和本地信任管理者,但它根本不起作用... 當我執行以下操作時,出現NoSuchAlgorithmException異常:

ssl_context = SSLContext.getInstance("SSL"); // OR TSL for that matter.. 

由於這個原因,我不能繼續...請幫助..

的主要問題是個例外......如果連接有錯誤或警告製成,那麼也很精緻。 ..

請注意:我不想將證書導入設備,因爲這是不可行的解決方案...否則所有用戶將不得不通過這個手動步驟.. 所以,我想驗證證書編程並建立連接...

回答

0

您不能獲得由認可的CA簽署的主機證書嗎?這將比編程更簡單,這可能會帶來安全風險。

0

你的意思是TLS?你真的指定TLS還是TSL輸入錯誤?

我猜你可以嘗試其他SSLContext名稱,請參閱SSLContext Algorithm names但SSL或TLS應該返回一些內容。