问题标签 [x509trustmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
698 浏览

android-security - 漏洞信任管理器

我们的应用在 Play Market 中已经存在 4 年了。

在最后一次构建之前,我们在应用中添加了 AppMetrica:

带有这些工具的项目已成功上传到 Play 市场,没有任何通知(错误或警告)。在那之后的几周内,我在 AppMetrica 中对发送报告进行了一些小改动,并收到了来自 Google 的以下通知:

“我们审核了XXX,包名称为XXX,发现您的应用使用了包含用户安全漏洞的软件。存在这些漏洞的应用可能会暴露用户信息或损坏用户设备,可能会被视为违反我们的恶意行为政策。以下是您最近提交中检测到的问题列表和对应的 APK 版本。请尽快迁移您的应用以使用更新的软件,并增加升级后的 APK 的版本号。

漏洞 TrustManager 您可以在这篇 Google 帮助中心文章中找到有关 TrustManager 的更多信息。”

我们在项目中不使用 TrustManager 和他的类。

拒绝的可能原因是什么?这个拒绝有可能是错误的吗?我们怎样才能知道这是什么原因呢?AppMetrica 会导致这种挫折吗?我们应该停止使用它吗?

此外,在拒绝文本中,他们说您可以在应用程序中设置网络配置(https://developer.android.com/training/articles/security-config)——它有什么帮助?

我们正在与这个麻烦作斗争两个星期,我们希望得到您的帮助

0 投票
1 回答
1595 浏览

okhttp - 无法使用 OKHTTP3 在 IBM JRE8 上提取信任管理器

任何人都可以帮助解决这个问题。

我也在使用OKHTTP3 版本 4.8.1来编写HTTP2 客户端。它适用于 Oracle JDK 8,但不适用于 IBM JRE 8。

错误消息:java.lang.IllegalStateException:无法在 okhttp3.internal.Platform@e85a0ce8 上提取信任管理器,sslSocketFactory 是 com.ibm.jsse2.SSLSocketFactoryImpl 类。

谢谢

0 投票
0 回答
72 浏览

java - X509TrustManager 的这个实现有什么问题?

我必须在 PlayStore 中使用应用程序,两者都具有相同的 X509TrustManager 实现,但一个一直被标记为具有“不安全实现”,但代码是相同的......我将不胜感激有关如何改进的一些帮助/提示,安全不是我最擅长的领域。谢谢

代码:

}

0 投票
1 回答
283 浏览

android - Android 应用程序的漏洞问题。X509 实现

最近开始从 Google 收到关于我的 Android 应用程序的电子邮件通知,建议如下:要正确处理 SSL 证书验证,请更改自定义 X509TrustManager 接口的 checkServerTrusted 方法中的代码,以在服务器提供的证书不符合您的期望时引发 CertificateException 或 IllegalArgumentException . 您可以参考此帮助中心文章以获取更多指导

SSL socketfactory.javav 文件如下所示

我已经阅读了可追溯到 2016 年的各种文章,这些文章提出了一些措施,但似乎没有一个在这里奏效。有人能够通过这个吗?如果漏洞未修复,电子邮件还会设置从 Play 商店中删除应用程序的截止日期

0 投票
1 回答
761 浏览

android-studio - 应用因违反我们的恶意行为或用户数据政策以及包含安全漏洞的软件而被拒绝

我已经更新了应用程序,但它被 Play 商店拒绝说

“我们拒绝了您的应用程序,包名称为 XYZ,因为它违反了我们的恶意行为或用户数据政策。如果您提交了更新,您的应用程序的先前版本仍可在 Google Play 上使用。

该应用程序使用的软件包含用户安全漏洞或允许在未经适当披露的情况下收集用户数据。”

为此,我从 Manifest 文件“cleartextTrafficPermitted="true"" 中删除了代码行,并再次尝试将应用程序推送到播放商店,但仍然以同样的原因被拒绝

有关更多信息,我最近在 gradle 文件中添加了以下库文件

这是我最近在清单文件中添加的前提:

也有提到:TrustManager 您可以在这篇 Google 帮助中心文章中找到有关 TrustManager 的更多信息。你能帮我解决这个问题吗,谢谢

0 投票
1 回答
47 浏览

java - 信任服务器上所有客户端证书的安全隐患 (Java X509TrustManager)

自定义“空”X509TrustManager实现(即信任所有证书的实现,例如此答案:https ://stackoverflow.com/a/54358567或此答案中的“选项 2”:https ://stackoverflow.com/a/2893932 ) 经常在本网站和其他网站上推荐。人们(正确地)批评这是不安全和危险的建议。这通常用于客户端信任任何服务器证书。

我想知道这种做法对于信任任何客户端证书的服务器是否一定是不安全的(假设然后根据受信任的证书列表单独检查所述证书)。

背景:我正在尝试创建一个基本的 Gemini 服务器(https://gemini.circumlunar.space/docs/specification.gmi)。提供的大多数页面不需要客户端证书,但如果客户端提供随机证书,我不希望 TLS 握手失败。某些页面(例如管理员的日志查看器)可能需要特定的客户端证书(例如,使用存储在服务器上硬编码文件路径的公钥)。其他页面可能想要信任证书的动态列表(例如来自注册用户的数据库)。

如果我创建一个X509TrustManager信任所有客户端证书的自定义并在我的SSLServerSocketFactory

  1. 仍然返回的证书clientSocket.getSession().getPeerCertificates()是否已针对其私钥进行了预先验证(即,如果有人提供了管理员证书,但没有私钥,将getPeerCertificates()返回一个空数组)?
  2. checkServerTrusted()将我的 TrustManager 中的/getAcceptedIssuers()方法留空/空是否有任何风险?如果此 TrustManager 仅由我的服务器套接字工厂使用,是否会调用这些方法?
  3. 有没有更好的方法来实现我想要的?
0 投票
1 回答
50 浏览

android - 限制 checkServerTrusted 仅用于初始化与我的服务器的连接

CheckServerTrusted 在使用我的服务器进行初始化时被调用。

但是,在初始化 Google 地图时也会调用 checkServerTrusted。

是否可以以某种方式限制 checkServerTrusted 仅用于初始化与我的服务器的连接?

所以我想 checkServerTrusted 只是在初始化与我的服务器的连接时被调用。

//自定义OkHttpClient

//ApiClient