如何摆脱 PlayStore 上的“不安全加密错误”

问题描述 投票:0回答:1

我已经在Play商店上传了一个具有md5加密功能的应用程序,并且我还使用jmrtd库进行mrz和nfc检测。 Play 商店反复出现此错误。我没有使用任何硬编码密钥进行 md5 加密。密钥是根据用户在登录页面上提供的数据生成的。
我尝试使用不同的密钥进行 md5 加密,但错误仍然存在。任何帮助将不胜感激。

Error image here

1 条关于版本代码 18 的消息 不安全的加密 您的应用程序包含不安全的加密模式。有关详细信息,请参阅这篇 Google 帮助中心文章。 org.jmrtd.protocol.PACEProtocol->pseudoRandomFunction

android security encryption md5 android-security
1个回答
0
投票

作为解决方法,请关闭捆绑包的缩小功能。或者忽略该错误。到目前为止,Google 并未因为此错误而拒绝您的应用。


在我们的例子中,Google 实用程序抱怨 JMRTD - OCR 库。

JMRTD 使用 DES 和 AES 算法。我认为他们总体上是安全的。

仅当我们为捆绑包启用缩小功能时,Google Play Console 才会显示错误。这很奇怪。我反编译了非缩小版本和缩小版本。 JMRTD 包中有一行差异。

无缩小,无错误:

Cipher cipher = Cipher.getInstance(str + (str.endsWith("/CBC/NoPadding") ? "" : "/CBC/NoPadding"));

有错误的缩小版:

sb.append(str.endsWith("/CBC/NoPadding") ? BuildConfig.FLAVOR : "/CBC/NoPadding")

安全部门是否抱怨“CBC”模式或“NoPadding”?但为什么第一个版本没有显示错误?

他们的帮助文章强烈建议避免算法数据中的常量值。但上面的行不是数据。这是算法的名称。这可能是其实用程序中的误报错误。


我在 Google 支持仪表板上创建了类似的问题,并在 Google Play Console 上发送了反馈。我还没有收到谷歌的回复。

© www.soinside.com 2019 - 2024. All rights reserved.