问题标签 [trustmanager]

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 投票
2 回答
2675 浏览

android - 使用 OkHttp 进行真实 HTTP 请求的 Robolectric 测试抛出 java.lang.NullPointerException:没有为 PKCS#12 KeyStore 提供密码

我正在使用Robolectric 4.3.1( testImplementation "org.robolectric:robolectric:4.3.1") 为我的集成测试创建一个 Android sqlite 环境。我的系统将OkHttp( implementation 'com.squareup.okhttp3:okhttp:3.14.7') 用于真正的 HTTP 请求。我没有使用MockWebServer.

升级到 Android 10 SDK 后,我必须根据 Robolectric 指令将单元测试 JVM 更新到 JDK 9 :

在 Android API 29 上运行测试现在严格要求 Java9 运行时或更新版本。如果您在通过 Android Studio 在 API 29 上运行测试时看到有关不支持的 Java 版本的错误;您可以使用“运行配置”对话框中的“JRE”字段来配置更新的 Java 运行时。有关更多背景信息,请参阅https://developer.android.com/studio/run/rundebugconfig

但是,现在我的集成测试失败了:

我怎样才能再次进行真正的 HTTP 调用?

0 投票
0 回答
79 浏览

spring-boot - 用于 Spring Boot 的自定义 KeyManager 和 TrustManager

我决定重新命名我的问题,我正在寻找一种方法来为我的 Spring Boot 应用程序提供自定义的 keymanager 和 trustmanager。基本上我有一个为用户提供自定义 URL 的应用程序,例如: https://user1.mydomain.com https://user2.mydomain.com等这些 url 转发到我的 spring boot 应用程序,并且每个用户都连接到他的/她的自定义 url 显示了不同的 SSL 证书。所以我想确保我为每个连接提供不同的 SSL 证书,证书的后端存储应该是数据库或 ldap。

有任何想法吗?

0 投票
0 回答
162 浏览

android - SSL 证书在初始连接时不受信任

我有一个非常令人沮丧的 SSL 错误,根据连接顺序,有效证书不受信任。

因此,如果在启动时,我直接连接到服务器 A。信任管理器将无法验证链并出现错误: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

但是,如果我连接到服务器 B,然后连接到服务器 A,它将信任它之前声称无效的相同证书。

有没有人对可能发生什么导致这种信任失败有任何想法?

这就是我设置信任管理器的方式:

据我所知,握手之前发生的所有事情在不同的连接之间都是相同的。唯一的区别是地址。这是在像素 3 上的 android 10 上运行时发生的。

0 投票
2 回答
201 浏览

java - 获取错误版本的密钥库。在安卓中

我正在使用 jks 文件注册密钥库,但得到“密钥库的错误版本”。使用以下代码

可能是什么原因,我的主要用例是允许通过注册证书从应用程序进行任何 https 调用

这是堆栈跟踪

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 回答
870 浏览

flutter - Flutter 应用在​​ Google Play 上发布时的 TrustManager 漏洞

我最近在 google play 上发布了一个应用程序,我收到了来自 google play 团队的一封电子邮件,其中说:...发现您的应用程序使用的软件包含用户安全漏洞。具有这些漏洞的应用程序可能会暴露用户信息或损坏用户的设备,并可能被视为违反我们的恶意行为政策。

以下是在您最近提交的文件中检测到的问题列表和相应的 APK 版本。请尽快迁移您的应用以使用更新后的软件,并增加升级后 APK 的版本号。

漏洞:信任管理器

我的应用程序是用 Flutter 开发的...

如果你能帮助我,我真的不知道如何解决这个问题。

发布规范.yaml

代码

扑医生

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 回答
87 浏览

android - HttpsURLConnection, SSLPeerUnverifiedException 访问 IP 地址时发生

当 HttpsURLConnection 尝试使用 IP 地址连接到服务器时,会发生以下异常:

资源

错误

看到一篇文章说需要把证书的CN和IP地址匹配,但是要连接的服务器的IP地址会发生变化,很难把证书的CN设置成CN。

谢谢您的帮助。

0 投票
1 回答
266 浏览

android-security - 如何在 TrustManager 中使用 CertificateException?

我将我的应用程序上传到了 Play 商店,并收到了来自 Google 开发人员的电子邮件,我必须在 https 代码中修改我的句子。我正在使用 TrustManager 函数通过 https 提交数据。我的 url 中有一个有效的 ssl 证书,一切正常。但是我有一个截止日期来修改代码并将 CertificateException 添加到代码中。

谷歌发给我:

信任管理器

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

主机名验证器

您的应用正在使用 HostnameVerifier 接口的不安全实现。您可以在这篇 Google 帮助中心文章中找到有关如何解决此问题的更多信息。

这是我的代码:

我希望你能帮助我。谢谢你。

0 投票
2 回答
1359 浏览

java - X509TrustManager 接口的不安全实现 - Google Play

当我尝试将应用程序上传到 google play 时,我收到一条消息。“接口 x509trustmanager 的不安全实现”。在来自 Google Play 的消息中,它说:

为避免验证 SSL 证书时出现问题,请更改 X509TrustManager 接口中 checkServerTrusted 方法的代码,以便在检测到可疑证书时抛出 CertificateException 或 IllegalArgumentException。

我发现的所有选项都使用 checkValidity 方法来验证证书,但 Google 还添加了:

不要使用 checkValidity 来验证服务器的证书。此方法检查证书的有效性,而不是其安全性。

如何正确更改 checkServerTrusted 方法的代码?我当前的 x509TrustManager 实现: