当谈到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