【问题标题】:How to fix game made with Unity 3D Android X509TrustManager rejected by google play?如何修复使用 Unity 3D Android X509TrustManager 制作的游戏被 Google Play 拒绝?
【发布时间】:2020-01-11 16:05:57
【问题描述】:

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

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

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

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

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

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

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

Google 让我看看这个参考资料,但我对此一无所知,我正在使用 Unity 并且不知道这是哪里

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

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

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

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

非常感谢任何可能的帮助

【问题讨论】:

    标签: android unity3d android-security trustmanager x509trustmanager


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      • 2017-07-07
      相关资源
      最近更新 更多