【发布时间】:2016-08-28 15:25:07
【问题描述】:
我需要获取包签名,我目前使用此代码获取它:
Signature[] sigs = c.getPackageManager()
.getPackageInfo(c.getPackageName(),
PackageManager.GET_SIGNATURES).signatures;
但是,Android Studio 给了我这个警告:
从 getPackageInfo 读取应用签名:如果未正确验证,应用签名可能会被利用;有关详细信息,请参阅问题说明。
应用签名验证不当可能会导致以下问题:恶意应用使用其真实证书和虚假证书将自己提交到 Play 商店,并获得对它不应该拥有的功能或信息的访问权限,因为另一个应用只检查假证书,忽略其余部分。请确保验证此方法返回的所有签名。
在这种情况下验证签名意味着什么?我将根据服务器检查签名以确保它们匹配 - 这是他们的意思吗?
在本地测试中,它只输出一个负整数,而不是代码中的数组。
【问题讨论】:
-
我已经提交了an issue,要求提供此类事情的真实文档。我会假设只要你的“检查签名”算法是不错的,你应该没问题。但是,由于我不清楚他们在警告什么,我无法确定。
标签: android android-studio android-studio-2.1