SHA和SHA1证书如何像Facebook一样确保Android应用程序上的API安全?

时间:2018-06-23 04:05:00

标签: android security facebook-graph-api sha1 sha

我知道什么是SHA和SHA1加密算法。我也知道如何从计算机上对它们进行修饰。

但是我在互联网上进行了很多搜索,但是仍然无法获得有关如何使用这些密钥来保护您在Android应用中使用的API的正确解释?

例如,Facebook需要在系统的开发者控制台上输入系统中的SHA1密钥以及应用程序的软件包名称,并且如果输入的密钥错误,则API不适用于您的应用程序。

该机制如何工作?他们如何在您的应用程序上对此进行验证?

1 个答案:

答案 0 :(得分:2)

Facebook正在利用Android application signing functionality在API交互的情况下提供相同类型的保证。

在构建应用程序时,您的私钥用于对结果进行数字签名。签名确认该构建是由密钥所有者创建的,随后未进行修改。

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

在Facebook SDK中,使用the signing certificate is extracted PackageManager class。生成的密钥哈希为provided as a parameter to API calls,将其与the hash you provided via their Developer ste进行比较。

因此,通过提供带外密钥散列(即将其导出并进入开发者网站),Facebook能够验证带内实例(即,编译到应用程序中并包含在API请求中)。 / p>