使用Fiddler4运行并在SSIS旁边解密HTTPS时出错

时间:2015-11-18 14:00:12

标签: ssis fiddler

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

在使用MS技术人员进行故障排除时,我们已要求我们捕获Fiddler跟踪并解密HTTPS流量。我们能够在几个月后完成此操作,但是最近,它会导致SSIS包失败并出现以下错误:

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

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

完整错误:

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

感谢您的帮助!

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

1 个答案:

答案 0 :(得分:1)

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

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

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

您可以尝试以下操作:

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