SHA 和 SHA1 证书如何像 Facebook 一样在您的 Android 应用程序上保护 API?
How SHA and SHA1 certificates secure an API on your Android app like Facebook does?
我知道什么是 SHA 和 SHA1 密码算法。我也知道如何从电脑生成这些。
但我在互联网上搜索了很多,但仍然无法正确解释如何使用这些密钥来保护您在 Android 应用程序上使用的 API?
例如,Facebook 需要您系统中的 SHA1 密钥以及您的应用程序包名称才能在他们的开发者控制台上输入,如果您输入的密钥错误,他们的 API 将无法在您的应用程序上运行.
这个机制是如何运作的?他们如何在您的应用程序上验证这一点?
Facebook 正在利用 Android application signing functionality 在 API 交互环境中提供相同类型的保证。
构建您的应用程序时,您的私钥用于对结果进行数字签名。签名验证构建是由密钥所有者创建的,并且随后没有被修改。
在应用程序中,存储了一个签名证书,可以通过编程方式访问。
在 Facebook SDK 中,the signing certificate is extracted using the PackageManager class. The resultant keyhash is provided as a parameter to API calls, where it is compared with the hash you provided via their Developer ste。
因此,通过提供带外密钥哈希(即导出它并进入开发者网站),Facebook 能够验证带内实例(即编译到应用程序中并包含在 API 请求)。
我知道什么是 SHA 和 SHA1 密码算法。我也知道如何从电脑生成这些。
但我在互联网上搜索了很多,但仍然无法正确解释如何使用这些密钥来保护您在 Android 应用程序上使用的 API?
例如,Facebook 需要您系统中的 SHA1 密钥以及您的应用程序包名称才能在他们的开发者控制台上输入,如果您输入的密钥错误,他们的 API 将无法在您的应用程序上运行.
这个机制是如何运作的?他们如何在您的应用程序上验证这一点?
Facebook 正在利用 Android application signing functionality 在 API 交互环境中提供相同类型的保证。
构建您的应用程序时,您的私钥用于对结果进行数字签名。签名验证构建是由密钥所有者创建的,并且随后没有被修改。
在应用程序中,存储了一个签名证书,可以通过编程方式访问。
在 Facebook SDK 中,the signing certificate is extracted using the PackageManager class. The resultant keyhash is provided as a parameter to API calls, where it is compared with the hash you provided via their Developer ste。
因此,通过提供带外密钥哈希(即导出它并进入开发者网站),Facebook 能够验证带内实例(即编译到应用程序中并包含在 API 请求)。