【问题标题】:Error when running with Fiddler4 and decrypting HTTPS alongside SSIS使用 Fiddler4 运行并与 SSIS 一起解密 HTTPS 时出错
【发布时间】:2015-11-18 14:00:12
【问题描述】:

我目前正在使用 SSIS 连接到 Microsoft Project Online(基于云)数据库并将数据从其传输到本地 SQL Server 数据库。问题是 SSIS 包在不运行 Fiddler4 时按预期执行。

在使用 MS 技术进行故障排除时,我们要求我们捕获 Fiddler 跟踪并解密 HTTPS 流量。在过去的几个月里,我们能够做到这一点,但最近,它会导致 SSIS 包失败并出现以下错误:

“无法从运行时连接管理器获取托管连接。”

我已按照说明删除证书几次,以及其他一些网络建议,但仍然存在问题。除非我能捕捉到踪迹,否则我们正处于 MS 无法进一步排除故障的地步。

完全错误:

信息:0x4004300A 在 TimeSet,SSIS.Pipeline:验证阶段开始。 错误:0xC020801F 在 TimeSet,OData 源 [2]:无法从运行时连接管理器获取托管连接。 错误:TimeSet 处的 0xC0047017,SSIS.Pipeline:OData 源验证失败并返回错误代码 0xC020801F。 错误:0xC004700C 在 TimeSet,SSIS.Pipeline:一个或多个组件验证失败。 错误:TimeSet 处的 0xC0024107:任务验证期间出现错误。

感谢您的帮助!

编辑:浏览我的 CA 商店,发现 FiddlerRoot 不是受信任的 CA 列表的一部分。尝试在我的安全存储中显式导入 CA 证书,但证书仍未显示在受信任的列表中。证书被命名为(出于某种原因)DO_NOT_TRUST_FiddlerRoot。如果 CA 被标记为不可信,这可能是我所看到的一部分吗?

【问题讨论】:

  • 我们需要更多详细信息才能帮助您解决问题。你到底在做什么,一步一步,得到错误?
  • 步骤如下: 启动 Fiddler -> 在 VS Shell (f5) 中运行包。当包到达验证 OData 连接的点时,它将在“输出”窗口中给出上述错误。完整错误已附加到原始帖子。

标签: ssis fiddler


【解决方案1】:

退一步说:Fiddler 根证书始终称为DO_NOT_TRUST_FiddlerRoot,它的名称对任何东西都没有影响(除了 UI 中显示的内容)。

Fiddler 是否正确地从您的网络浏览器收集 HTTPS 流量?

如果是这样,这里有几种可能的解释,但最有可能的是使用连接的进程不信任 Fiddler 根证书;例如,默认情况下,Fiddler 仅尝试信任 per-user 证书存储中的根证书,但有时事情在不同的用户帐户(例如服务帐户)中运行,因此必须将根放在 per-machine 证书中商店。

您可以尝试以下方法:

  1. 在 Fiddler 的工具 > Fiddler 选项 > HTTPS 选项卡中,单击将根证书导出到桌面。
  2. 启动 mmc.exe。
  3. 单击文件 > 添加/删除管理单元。
  4. 选择证书管理单元并按添加。
  5. 出现提示时,此管理单元将始终管理以下证书:选择计算机帐户
  6. 单击本地计算机,然后单击完成,然后单击确定。
  7. 打开证书(本地计算机)节点。
  8. 右键单击 Trusted Root Certificate Authorities 文件夹并选择所有任务 > 导入。
  9. 选择您在第 1 步中导出的文件并将其导入。

【讨论】:

  • 感谢您的信息,我会尽快试一试。是的,我可以从 Web 收集 HTTPS 流量,但我可以说 Outlook/Skype for Business 都会抛出弹出窗口以信任证书。即使在选择信任他们之后,弹出窗口也会再次出现。我将尝试使用每台机器的选项并报告
  • 非常感谢 Eric 的回复,修复了它。我将在公司周围传递这个信息,以便其他人知道如何解决同样的问题。再次感谢,非常感谢!
猜你喜欢
  • 1970-01-01
  • 2019-07-10
  • 2015-10-28
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 2017-10-25
  • 1970-01-01
  • 2023-03-07
相关资源
最近更新 更多