1

我在 Unity 3D 2019.2 Android 中制作了一个游戏,并将其发送到 Google Play,我收到了这条消息,

您的应用程序有一个安全警报,因为正在使用 X509TrustManager 接口的不安全实现和 Apache HTTP 客户端,从而导致安全漏洞。

请,如果你能以某种方式帮助我,我将非常感激,以了解 X509TrustManager 在 Unity 中的位置,它在我的 Unity 项目中使用的位置,以及如何修复它,或者它在哪里修改它。

我已经在互联网上搜索了几个小时 Unity 与 X509TrustManager 和 Unity 之间的任何关系,但未能找到任何可能的解决方案。

我在 Unity 中使用 Split by architecture 来构建多个 APK 我没有任何自定义 Android Manifest,它是在构建时由 Unity 构建的。

据我所知,我没有使用任何 SSL 证书或以任何方式使用 Trustmanager。我不使用任何类型的插件,也没有任何类型的应用内购买。据我所知,我不收集任何用户数据,也不连接到互联网

我没有安装 Google Play 插件,我只有 Unity PlayServicesResolver

谷歌让我看看这个参考,但我对此一无所知,我正在使用 Unity,不知道这是在哪里

https://developer.android.com/reference/javax/net/ssl/X509TrustManager.html#checkServerTrusted(java.security.cert.X509Certificate[]

似乎它与java有任何关系,但我对java一无所知,而且我的项目中没有任何java文件,虽然我知道必须在Unity for Android中构建项目。

我希望找到一些关于在 Unity 中使用 X509Trustmanager 的位置或方式来配置它的文档,但不知道它在哪里

拜托,如果您能以某种方式帮助我,我将不胜感激。

非常感谢任何可能的帮助

4

1 回答 1

1

正如您所提到的,可能在 Java 中。它使用已弃用的 HTTP Apache 进行网络调用,并且可能使用默认的自签名 CA。您可以在 Gradle 中使用已弃用的源代码和设置来使用旧库。但这不会解决问题。

相反,您需要移动到默认 HTTP UrlConnection,它已经与系统内部的 CA 紧密相关。这也在Android 文档中有所描述。但就您使用 Unity 而言,您并没有处理它。所以我认为这个问题应该提给Unity支持。另一方面,我弃用了很长时间,我认为 Unity 支持应该已经描述了一种解决它的方法。

于 2019-09-10T10:03:47.877 回答