2011-11-20 49 views
3

我希望用戶能夠從網站生成的證書安裝後安裝自己的個人證書到我的Android應用程序,但是當我使用一個Web客戶端或Android瀏覽器來上網衝浪,使用個人證書它,安全存儲會彈出並安裝它,直到版本14(Android 4.0),我的用戶還沒有安裝該API。在Android應用程序

這樣一個網站的一個例子是http://www.comodo.com/home/email-security/free-email-certificate.php。 在這裏你可以申請一個個人證書,並在確認後,你會得到一個鏈接,你可以下載證書。 我希望用戶能夠從本網站和其他網站下載證書到我的應用程序中。

誰能告訴我處理才能夠拿到證書到我自己的應用程序,它的意圖,或如何修改Web客戶端,使得它可以讓我來決定,它應該與該文件呢?

由於提前, 帕特里克

+0

什麼是「個人證書」的目的是什麼? SSL客戶端認證? –

+0

個人證書的目的是解密和簽名數據,所以我只想提取一個證書和一個PrivateKey。 – Patrick

+0

還不清楚:誰會使用密鑰/證書?的WebView?你自己的應用程序的Java代碼(通過JCE)?你想只是認證一個網站或自己寫一些加密代碼? –

回答

3

由於Android的密鑰庫API是不是在公衆面前ICS(4.0),您需要保存的密鑰和證書的一些文件在您的應用程序可以訪問,以便能夠使用它們。如果您需要一個標準的受密碼保護的Java密鑰存儲文件並需要密碼輸入以用於加密操作,則它會相當安全。

您可以使用設置 - >位置和安全 - >'從SD卡安裝'導入ICS之前版本的密鑰/證書對,但是沒有公共API來訪問您應用中的這些密鑰/證書對,只能由內置的VPN客戶端使用。

+0

我發現,事實上,我發現它是不公開之前的Android 4.0,但問題是不是存儲,但文件的檢索:只要我打開網址,在瀏覽器中的證書,它會嘗試將其存入安全存儲。 你能告訴我如何在我自己的應用程序中處理該文件的下載,以便我可以處理並保存文件? – Patrick

+0

同樣,我們需要更多細節。如果用戶安裝自己的密鑰和證書,是否需要下載它?如果它是他們自己的,那就意味着它是本地的。如果是這種情況,只需將文件瀏覽器功能添加到您的應用程序,並讓他們選擇文件。如果不是,請修改您的問題以提供更多詳細信息。 –

+0

我已經插入了一個示例:comodo個人電子郵件證書,您可以從網站下載帶有私鑰的證書。 我希望能夠將這些證書加入我的應用程序。 – Patrick