可以在我的应用程序中对我的密钥库的密码进行硬编码吗?

时间:2011-03-04 00:15:52

标签: java android ssl httpclient keystore

对于SSL和安全性而言,我是一个完全新手。我找到了以下关于如何加载密钥库以信任自定义SSL证书的示例(这是使用Apache HTTPClient,btw):

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”)在代码中是否可用,这是不是有问题?如何破坏包含此代码的应用程序?

1 个答案:

答案 0 :(得分:1)

如果您愿意承担风险。

任何有足够决心反编译代码的人都可以获得它。即使您对代码进行模糊处理,您仍然会冒风险,因为他们需要做的就是找到字符串。