我想不止一个收到来自Google Play的一封邮件,并附上消息:
“Hello Google Play Developer,
我们想让您知道,下面列出的应用会静态链接到具有多个用户安全漏洞的OpenSSL版本。请在7/7/15之前将您的应用迁移到OpenSSL的更新版本。从此日期开始,Google Play将阻止发布使用不受支持的OpenSSL版本的任何新应用和更新。
警告原因:违反内容政策的危险产品规定和开发者分发协议第4.4节。 这些漏洞在OpenSSL版本中得到修复,从1.0.1h,1.0.0m和0.9.8za开始。要确认您的OpenSSL版本,您可以通过以下方式执行grep:
$ unzip -p YourApp.apk |字符串| grep“OpenSSL”
有关此漏洞的详细信息,请参阅此OpenSSL安全通报。要确认您已正确升级,请将更新版本的应用程序提交给开发者控制台,并在五小时后再回来查看。 从2015年7月7日开始,我们不接受包含漏洞的应用更新。任何包含漏洞的新应用都将被拒绝。“
所以我读了很多关于此的帖子,比如Post 1,Post 2和其他人。我必须说,在我的第一个版本的应用程序中,我不使用任何库,全部来自Android(我使用webview),当我在我的第一个应用程序中使用“unzip -p YourApp.apk | strings | grep”OpenSSL“” 我没有任何OpenSSL 。
这是否意味着我收到了邮件,因为我可能用旧的OpenSSL签署了apk? (我使用Windows,Android Studio。)如果是这样,我应该制作一个签名的apk manuall y与最新版本的OpenSSL?
或者我的apk必须要求OpenSSL吗?
在我目前的版本中,我使用的库类似于:app-compact:22.2.0(来自android,最新版本),gms:7.5.0(来自android,最新版本)和凌空(1.0.16)以及当我使用时“unzip -p YourApp.apk | strings | grep”OpenSSL“”给了我类似GmsCore_OpenSSL的结果。我猜GmsCore_OpenSSL来自gms库,因此来自Android本机。
谢谢高级,
答案 0 :(得分:1)
用于签署APK的工具无关紧要。如果您已经搜索过APK中的每个文件但找不到旧OpenSSL的任何用途,则下一步是检查APK间接使用的所有文件。
有一个App下载了Busybox,而Busybox包含了curl,其中包含旧版本的OpenSSL,导致它被标记。
所以如果要下载任何本机代码库,请运行字符串| grep“OpenSSL”并确保它们也是最新的。