问题标签 [hostname-verifier]

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 投票
1 回答
289 浏览

android - HostnameVerifier 接口的不安全实现 - Android

Play商店应用被拒绝的原因:

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

大家好,

当我将应用程序上传到 Play 商店时,我收到了 Google Play 控制台的 HostnameVerifier 问题。我已经尝试了在 StackOverflow 上找到的每一个解决方案,但问题仍然是相同的,即您的应用程序正在使用 HostnameVerifier 接口的不安全实现。

另外,我已经浏览了这个问题的谷歌文档,但没有得到任何运气。有没有人对此有解决方案?感谢每一个帮助

下面是我的ServiceGenerator

0 投票
0 回答
38 浏览

java - 在将应用程序上传到 Google Play 控制台时修复主机名验证器界面

我更新了我的应用程序的版本代码和版本名称,但我从 Google Play 收到了以下警告消息:

在此处输入图像描述

我怎样才能解决这个问题?我的代码如下:

0 投票
0 回答
25 浏览

android - 来自 Google Play 控制台的主机名验证程序警告

由于我在项目中使用 HTTPS url 使用 Asyn 任务,因此基于证书和域验证 SSL 证书,但最近收到来自 google play console 的警告。因此,请建议我需要实施哪些更改。

发现您的应用使用了包含用户安全漏洞的软件。具有这些漏洞的应用程序可能会暴露用户信息或损坏用户的设备,并且可能会被视为违反我们的恶意行为政策。以下是在您最近提交的文件中检测到的问题列表和相应的 APK 版本。

  1. TrustManager 您可以在这篇 Google 帮助中心文章中找到有关 TrustManager 的更多信息。
  2. HostnameVerifier 您的应用程序正在使用 HostnameVerifier 接口的不安全实现。您可以在此 Google 中找到有关如何解决此问题的更多信息
0 投票
0 回答
103 浏览

flutter - 如何为 Dart/Flutter HttpClient 编写自定义 SSL 主机名验证器

我有多个设备,每个设备都公开了一个带有我自己的 CA 签名的 X509 证书的 HTTPS 服务器。客户端通过本地网络中的 IP 调用这些服务器,但事先不知道 IP,因此证书不包含 IP,但它们具有自定义(不可解析)DNS 名称。

在客户端(现在是移动应用程序),我使用带有SecureContext的 dart HttpClient将我的 CA 证书设置为受信任并调用服务器。

但是证书验证和连接失败,因为虽然证书是由我的 CA 签名的,但证书名称不等于用于调用服务器的本地 IP 地址。

允许HostnameVerifier的 Android/Java 支持此用例。而且似乎也可以在 iOS 中使用SecPolicyCreateSSL 来实现

所以我可以在每个平台上编写一个 Flutter 插件,但在我看来,正确的方法是直接在 Dart 中支持这一点,它使用 BoringSSL 来构建 SecureSocket。

我正在尝试编写一个允许主机名验证器的 Dart 库,我认为我必须以某种方式覆盖 HttpClient 使用的SecureSocket,但我不确定我是否必须直接调用 Dart 包含的 BoringSSL 库(如何我应该这样做吗?)或者希望只是在 Dart 中完成。

看起来可以使用openssl完成此验证。BoringSSL中的handshake_client.cc似乎拥有大部分需要的东西。

谁能给我一些关于如何在 Dart 中实现这一点的想法/提示?

顺便说一句,我已经尝试过badCertificateCallback,但它并没有一致地返回服务器证书,在 Android 中它返回叶/服务器证书,在 iOS 中它返回颁发者 CA 证书。无论哪种方式,它似乎都包含足够的数据来验证服务器证书实际上是否由 CA 正确签名。

0 投票
2 回答
49 浏览

python-3.x - 在熊猫数据框中验证多个电子邮件主机名的最有效方法是什么

我有一个 pandas 数据框,其中有一列包含每个电子邮件地址的主机名(超过 1000 行):

我想检查每个主机名并检查它是否真的存在。

首先,我提取了每个电子邮件地址的主机名:

然后,我尝试使用 来检查 DNS pyIsEmail,但这太慢了

然后,我尝试了一个多线程函数:

但这也不太顺利,因为我对并行函数还很陌生。它有多个错误,我相信如果我能以某种方式首先检查该主机名是否已被检查并再次跳过整个请求,那会更有益。我想在不发送电子邮件的情况下尽我所能。

有没有图书馆或方法可以做到这一点?因为到目前为止我找不到解决这个问题的合适方法。

0 投票
2 回答
47 浏览

c# - 将我自己的硬件与 LAN 网络上的应用程序链接的最佳方式是什么?

我有基于具有以太网通信的微控制器的硬件。

微控制器中有一个 TCP 服务器。

为了配置硬件,我有一个用 C# 为 android 制作的应用程序。

反过来,该应用程序有一个 TCP 客户端。

为了让应用程序找到我的硬件,我正在做的是 ping 我手机同一网段的每个地址。也就是说,如果我的手机的IP地址是192.168.0.xx,我从地址192.168.0.1 ping到地址192.168.0.255。

那些响应的地址,我尝试打开一个套接字并发送一个数据帧,如果答案是正确的,我假设我在本地网络中找到了一个硬件(可能连接了多个)

显然,那些没有响应的 IP 地址,或者无法打开套接字或响应错误的 IP 地址将被丢弃。

这些有效地址显示在列表中,供用户选择与之交互的地址。

另外,这些有效地址会保存在应用程序中,以便下次打开应用程序时,它会自动连接到存储的地址,避免扫描IP地址。

用户第一次安装硬件并使用应用程序配置时,这对我来说似乎是正确的

问题是我被告知有用户他们的路由器配置为每月更新一次 IP 地址。

如果发生这种情况,应用程序应该再次执行对所有 IP 地址的扫描,这有点麻烦,因为扫描所有 IPs 需要一些时间,我认为用户不会乐于每月配置一次他们的应用程序和硬件。

另一个麻烦的解决方案可能是使用静态 IP 地址,但我认为这也不是一个好主意。

关于如何改进这一点的任何建议?