是否可以使用Android应用程序安装私钥?

时间:2017-08-03 11:09:39

标签: android security

是否可以使用Android应用程序提供私钥,这对于所有应用程序安装都是相同的,并且无法从.apk文件中提取?

我需要这个的原因如下:

  1. 当我的应用程序向服务器发送数据时(假设某个应用程序密钥可能是公开的),它还会发送此应用程序密钥的哈希值,并使用在安装过程中安装的私钥进行签名。
  2. 服务器通过将公钥应用于已签名的哈希应用密钥并将结果与​​哈希应用密钥进行比较来检查签名。
  3. 只有在签名正确的情况下,才会返回敏感数据,如应用密码才能访问我的API。
  4. 通过这种方式,我希望确保只有我的应用可以使用我的API并且不会窃取应用秘密(从API检索访问令牌需要应用密钥和应用秘密)。

1 个答案:

答案 0 :(得分:0)

Google Instance ID似乎正是我所寻找的(在Android和iOS上运行)。通过此库,您可以为每个已安装的应用实例分配唯一ID,并在服务器端执行检查,无论该ID是否属于您的应用。

可以找到更多信息here