无法使用 Ubuntu 客户端和 VirtualBox Windows 主机访问 HTTPS 资源

无法使用 Ubuntu 客户端和 VirtualBox Windows 主机访问 HTTPS 资源

我在运行 Ubuntu Trusty 32 位客户端的 Windows 8.1 上安装了 VirtualBox 4.3.12。

当我尝试从客户端访问 HTTPS 资源时,看到如下错误:

Cannot fetch index base URL https://pypi.python.org/simple/

据我所知,没有使用代理。netsh winhttp show proxy显示:

Direct access (no proxy server).

我可以从主机顺利访问 HTTPS 资源。我还禁用了防火墙。我在计算机上安装了公司的 Symantec 保护,但我也禁用了它的防火墙。

有任何想法吗?

答案1

我遇到这个问题是因为主机有客户端没有的 CA 根证书。我的虚拟机在连接到我家里的个人 WiFi 时工作正常,但当我在办公室或连接到我的 VPN 时,我无法访问任何需要 HTTPS 连接的网站。

对于带有 CentOS 客户机的 Windows 7 主机,我执行以下操作。

  1. 尝试从客户端内部访问 HTTPS 网站。

  2. 当客户端拒绝连接并告诉我证书来自不受信任的来源时,我点击了“添加例外”选项。我实际上并没有添加例外,但我确实需要下一个弹出窗口来解决问题。

  3. 点击“查看证书”。查看了证书颁发者。由于我的公司处理网络上安全流量的方式,这家公司最终成为我的雇主。

  4. 切换到我的 Windows Windows 主机并启动“Certmgr.msc”

  5. 在左侧窗格中选择“受信任的根证书颁发机构”图标。

  6. 在右侧窗格中找到了我公司的所有证书(共有 6 个),然后通过右键单击 -> 所有任务 -> 导出逐个导出。向导打开后,我为每个证书选择了“DER 编码二进制文件”,并选择了主机和客户机之间共享的目录作为保存证书的位置。

  7. 我切换到主机并通过以下方式将所有 .cer 证书转换为 .pem 文件:

    openssl x509 -inform der -in certificate.cer -out certificate.pem

  8. 我将它们全部放在以下目录中:

    /etc/pki/ca-trust/source/anchors/

  9. 我运行了证书更新

    sudo update-ca-trust

就是这样。基本问题是我的工作 IT 系统正在捕获加密流量并重新颁发证书,但由于我的 VM Guest 没有将我公司的证书列为根权限,因此任何需要证书的东西都被识别为不受信任。希望这对你们中的一些人有所帮助

答案2

我遇到了同样的问题。在 Chrome 中,当出现错误时,我单击该错误以查找确切的证书颁发机构名称。

在主机上,我转到 chrome://settings -> 证书 -> 权限并导出该特定权限,然后在客户操作系统的 chrome 中导入该文件。

相关内容