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



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

我需要这个的原因如下:

  1. 当我的应用将数据发送到服务器(假设应用密钥,可能是公共的(时,它还会发送此应用密钥的哈希,并使用在安装过程中安装的私钥进行签名。
  2. 服务器通过将公钥应用于已签名的哈希应用密钥并将结果与经过哈希处理的应用密钥进行比较来检查签名。
  3. 仅当签名正确时,才会返回敏感数据,例如用于访问我的 API 的应用机密。

通过这种方式,我喜欢确保只有我的应用程序可以使用我的 API,并且应用程序机密不会被窃取(应用密钥和应用机密是从 API 检索访问令牌所必需的(。

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

更多信息可以在这里找到。

最新更新