安全警报:应用程序包含嵌入的私钥或密钥库文件

var*_*run 6 android apk google-play google-play-services

最近收到了来自谷歌的邮件:

这是一个通知,您的应用程序com.myapp包含一个或多个私钥或密钥库文件,嵌入在其发布的apk中,如本电子邮件末尾所列.这些嵌入式项目可以由第三方访问,这可能会根据密钥的用途引发各种不同的安全问题.例如,如果私钥是您的应用程序的签名密钥,则第三方可以签署和分发替换您的真实应用程序或破坏它们的应用程序.这样的一方也可以根据您的身份签署和分发应用程序.

作为一般安全实践,我们强烈建议不要在应用程序中嵌入私钥和密钥库文件,即使密钥受密码保护或模糊处理也是如此.保护私钥和密钥库文件的最有效方法不是传播它们.

请尽快从您的应用中删除您的私钥和密钥库文件.每个应用程序都不同,但如果您不确定如何在应用程序中找到密钥和密钥库文件,则可以尝试查找具有"密钥库"文件扩展名的文件,并尝试使用"私钥".有关确保密钥安全的更多信息,请参阅 https://developer.android.com/tools/publishing/app-signing.html.

作为开发人员,您有责任在任何时候正确保护您的私钥.请注意,虽然尚不清楚这些特定问题是否会影响您的应用程序,但是具有漏洞的应用程序可能会将用户置于危险之中,可能被视为"危险产品",并且可能会从Google Play中删除.

要检查应用的后续版本是否包含私钥,请访问https://play.google.com/apps/publish/#AlertsPlace,查看Google Play开发者控制台的"提醒"部分 .

受影响的应用程序和嵌入项目示例:repack/org/bouncycastle/openssl/test/data/dsa/openssl_dsa_aes128_cbc.pem repack/org/bouncycastle/openssl/test/data/dsa/openssl_dsa_aes128_cfb.pem repack/org/bouncycastle/openssl/test/data/dsa/openssl_dsa_aes128_ecb.pem repack/org/bouncycastle/openssl/test/data/dsa/openssl_dsa_aes128_ofb.pem repack/org/bouncycastle/openssl/test/data/dsa/openssl_dsa_aes192_cbc.pem

我正在使用包含上述.pem文件的库(jar文件).这些文件的关键字"PRIVATE KEY".我没有在APK包中的任何地方透露我的私钥或密钥库.我该怎么做才能解决这个问题?我对JAR文件或我的应用APK做了哪些更改?请帮忙.

drs*_*boo 4

今天我从谷歌收到了一条非常类似的消息。经过调查,我发现您在我的一个罐子中列出了相同的文件。我通过使用以下控制台命令从 jar 中删除整个 openssl 文件夹解决了这个问题。

zip --delete AFFECTEDJAR.jar "repack/org/bouncycastle/openssl/*"
Run Code Online (Sandbox Code Playgroud)

我建议您在运行此命令之前检查该文件夹中是否有 java 类。就我而言,无论如何,除了测试数据之外什么也没有。

希望这可以帮助。