代码之家  ›  专栏  ›  技术社区  ›  Gissipi_453

sha和sha1证书如何像facebook一样保护android应用程序上的api?

  •  2
  • Gissipi_453  · 技术社区  · 6 年前

    我知道什么是sha和sha1加密算法。我也知道如何从电脑中提取这些。

    但是我已经在网上搜索了很多,仍然无法得到一个正确的解释,如何使用这些密钥来保护你在android应用程序上使用的api?

    例如,Facebook需要在开发人员控制台上输入您系统中的SHA1密钥以及应用程序的包名称,如果您输入的密钥错误,则他们的API在您的应用程序上不起作用。

    这个机制是如何工作的?他们如何在你的应用程序上验证这一点?

    1 回复  |  直到 6 年前
        1
  •  2
  •   chuckx    6 年前

    Facebook正在利用 Android application signing functionality 在api交互的上下文中提供相同类型的保证。

    构建应用程序时,将使用私钥对结果进行数字签名。签名验证生成是由密钥所有者创建的,而不是随后修改的。

    在应用程序中,将存储一个签名证书,该证书可通过编程方式访问。

    在facebook sdk中, the signing certificate is extracted 使用 PackageManager class 是的。结果keyhash是 provided as a parameter to API calls ,与 the hash you provided via their Developer ste 是的。

    因此,通过提供带外keyhash(即导出并进入开发人员站点),facebook能够验证带内实例(即编译到应用程序中并包含在api请求中)。