Https fiddler2无法生成证书

Https fiddler2无法生成证书,https,fiddler,makecert,Https,Fiddler,Makecert,我正在使用Fiddler2(或尝试)为一个访问https web服务的windows桌面小工具捕获SSL流量。它曾经工作过,但几天前就停止了,总是出现以下错误: --------------------------- Unable to Generate Certificate --------------------------- Creation of the interception certificate failed. makecert.exe returned -1. Re

我正在使用Fiddler2(或尝试)为一个访问https web服务的windows桌面小工具捕获SSL流量。它曾经工作过,但几天前就停止了,总是出现以下错误:

--------------------------- 
Unable to Generate Certificate 
--------------------------- 
Creation of the interception certificate failed. 
makecert.exe returned -1. 
Results from C:\Program Files\Fiddler2\MakeCert.exe -ss my -n 
"CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by 
http://www.fiddler2.com" -eku 1.3.6.1.5.5.7.3.1 -r -cy authority -a 
sha1 
Error: Can't create the key of the subject ('JoeSoft') 
Failed 
------------------------------------------- 
(虽然我刚刚发布了我自己的错误,而且应该很快就能看到,但我还是从谷歌的fiddler组中删除了这个错误)


还有其他人有这个问题并解决了吗?Fiddler刚刚坏了吗?

我和其他人都有这个问题。它是密钥存储中已存在的密钥目录,与Fiddler尝试创建的密钥目录同名(可能来自以前版本的Fiddler)

我的计算机上的密钥目录位于:

C:\Users\\[username]\AppData\Roaming\Microsoft\Crypto\RSA\\[folder-with-big-name]\
请注意,冲突实际上是密钥文件夹名称。我刚刚重命名了文件夹,然后密钥生成工作正常


有关更多信息,请参阅此链接:

Nicholas的答案是正确的。为了帮助其他人也找到此页面:

如果您在单击Fiddler中的“将Fiddler根证书导出到桌面”按钮时收到消息“无法导出Fiddler的根证书”,或者从代码中调用Fiddler.CertMaker.createRootCert(),这可能会很有帮助。

我遇到了相同的错误。 这当然是由于早期版本的Fiddler的存在以及它们之间的一些不兼容

上面的文件夹只供Fiddler使用,其中存储了它创建的证书(或者至少用于您的邮箱上的个人证书,Fiddler肯定是唯一使用它的人)。您可能需要检查您是否拥有除小提琴手证书以外的其他个人证书。在IE中,这是使用工具/互联网选项/内容/证书/个人

完全清空文件夹,不要害怕删除系统文件的消息。 然后在Fiddler中,再次选择要捕获的选项,然后解密HTTPS流量。 如果需要,在桌面上重新导出Fiddler根证书,然后在IE和FF中重新导入。 如果需要,请重新启动浏览器,尽情享受

我想不是只在IE中删除所有这些,而是为DO_NOT_TRUST_Fiddleroot颁发的私有证书也会删除这些,但我还没有测试过这一点


请记住,一旦不再需要解密选项,请立即关闭该选项。

作为Nicholas Cloud回复的补充,这里有一个小脚本可以帮助您重命名该文件夹:

# Find my SID 
$user = New-Object System.Security.Principal.NTAccount([Environment]::UserName) $mySID = ($user.Translate([System.Security.Principal.SecurityIdentifier])).Value

# Rename keys folder with a timestamp
$timeStamp = Get-Date -format "ddMMyyhhmmss"
$folder = Join-Path -Path $env:USERPROFILE -ChildPath "appData\Roaming\Microsoft\Crypto\RSA\$mySID"
Rename-Item -Force $folder "$folder.$timeStamp"

在Nicholas的回复中添加注释确实允许我格式化代码,因此我最终创建了一个单独的回复。

如果Fiddler证书生成失败,正确的修复方法是手动选取现有的Fiddler2私钥并删除该私钥。上面的PowerShell代码完全破坏用户的私钥存储是一个非常糟糕的主意。这将使每一份个人证书都变得无用

通过运行Fiddler2将运行的相同命令来确认问题:

cd "C:\Program Files (x86)\Fiddler2"
makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
如果证书生成失败,则需要删除现有私钥。有关查找证书私钥的工具,请参阅

运行它:

Get-PrivateKeyPath CN=DO_NOT_TRUST_FiddlerRoot
它将返回类似于
c:\Users\JoeUser\AppData\Roaming\Microsoft\Crypto\RSA\7b90a71bfc56f2582e916a51aed6df9a_f6d54f4e-ff40-450e-9d77-7cfc383b357的内容
删除该文件并再次尝试生成证书。它应该成功。不要在Win7中破坏整个私钥存储。

  • 所以请转到这里:
    C:\Users\\AppData\Roaming\Microsoft\Crypto\RSA\
  • 选择所有文件(以UUID命名)
  • 将这些文件移动到桌面或
    AppData
    dir之外的其他文件夹
  • 启动Fiddler,转到
    工具
    |
    Fiddler选项
    |
    启用HTTPS解密
  • 这一次要确保它有效(希望如此)
  • 将文件从临时位置移回(即,
    桌面
    ),
    到他们的原始版本:
    C:\Users\\AppData\Roaming\Microsoft\Crypto\RSA\
  • 当其中一个文件询问是否要替换现有文件时,
    跳过它

您可以通过从C:\Users\\AppData\Roaming\Microsoft\Crypto\RSA\path中查找文件内容中的“JoeSoft”来识别冲突文件。

我的Windows 8设备上也有同样的问题。按照@Nicholas Cloud手动删除关键文件对我没有帮助。所以我一直在尝试不同的事情,终于能够解决这个问题

为了解决证书问题,我执行了以下操作:

  • 在工具->选项->HTTPS选项卡中,取消选中“解密HTTPS流量”选项。这启用了对话框底部的“删除拦截证书”按钮
  • 单击“删除拦截证书”按钮
  • 对所有弹出消息说“是”
  • 重新启用“解密…”选项
  • 随后将出现一系列弹出消息,如中所述

  • 注意:如果上述步骤对您没有帮助,请尝试重新安装Fiddler并重复这些步骤。在使用HTTP选项之前,我首先重新安装了它。

    我遇到了这个错误,只能通过以下方法解决:

  • 更新
  • 正如@DemytroUa在工具->选项->HTTPS选项卡中所说的,取消选中“捕获HTTPS连接”选项。并单击对话框底部的“删除拦截证书”按钮
  • 打开证书管理器(在运行对话框-windows+r中输入certmgr.msc)
  • 导航到个人->证书
  • 删除所有“不信任”证书
  • 在Fiddler上选中“在工具->Fiddler选项->HTTPS选项卡中解密HTTPS通信”

  • 您可能只需要更新fiddlerCore(有关更多详细信息,请参见问题),但我列出了为完全安全所做的一切。

    fiddler硬编码命令已过时

    所有人停止删除文件夹

    只需安装fliddler插件,该插件声称可以生成“与android一起工作的更好的证书”。它在官方的fiddler插件列表中

    该插件将为您修复它。

    对我来说是一个简单的修复
    makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012