當談到SSL和安全性時,我是一個完全新手。我發現如何加載信任定製SSL證書密鑰庫下面的示例中(這是使用Apache了HTTPClient,順便說一句):可以在我的應用程序中對我的密鑰庫的密碼進行硬編碼嗎?
private SSLSocketFactory newSslSocketFactory() {
try {
KeyStore trusted = KeyStore.getInstance("BKS");
InputStream in = context.getResources().openRawResource(R.raw.mystore);
try {
trusted.load(in, "ez24get".toCharArray());
} finally {
in.close();
}
return new SSLSocketFactory(trusted);
} catch (Exception e) {
throw new AssertionError(e);
}
}
我想你需要以修改密鑰庫訪問設備,但是仍然...在密碼存儲密碼(「ez24get」)在代碼中可用的事實中沒有問題嗎?妥協包含此代碼的應用程序需要做什麼?
我會說它聞起來,但我不是一個Android開發人員。你還有什麼其他選擇來存儲它?它可以被散列嗎? – alex 2011-03-04 00:23:30
我不知道。我正在想方法,我可以將密碼存入應用程序,而無需將其存儲在某個地方。如果我將它打包加密,那麼我需要密鑰出現在代碼中,所以同樣的問題。 Android沒有像黑莓那樣的內置硬件加密技術。如果我在第一次啓動應用程序時下載它,我需要一些方法來驗證它確實是我的應用程序請求的密碼,而不是其他人。通常,這種事情是通過SSL完成的,如果我無法訪問密鑰庫,則無法使用SSL。 :-P男人,我不知道有人有這樣的想法。 – 2011-03-04 00:45:27