fiddler2 не может создать сертификат - PullRequest
36 голосов
/ 02 апреля 2011

Я использую Fiddler2 (или пытаюсь) захватывать трафик SSL для гаджета Windows для рабочего стола, попадающего на веб-службу https.Раньше он работал, а потом остановился пару дней назад, всегда с этой ошибкой:

--------------------------- 
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 
------------------------------------------- 

(Я ударил ошибку из группы Google для скрипача, хотя я только что опубликовал свою, и она должна бытьскоро будет видно).

Кто-нибудь еще имел эту проблему и решил ее?Скрипач просто сломан?

Ответы [ 12 ]

36 голосов
/ 12 октября 2012

В Win7

  • Иди сюда: C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\
  • Выберите все файлы (названные с помощью UUIDS).
  • Переместите эти файлы на рабочий стол или в другую папку за пределами AppData dir.
  • Запустить Скрипач , перейти к Tools | Fiddler Options | Enable HTTPS decryption
  • Видите, на этот раз это работает (надеюсь).
  • Переместить файлы обратно из их временного местоположения (т. Е. Desktop),
    к исходному: C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\
  • Когда один из файлов спрашивает, хотите ли вы заменить существующий, skip it.
31 голосов
/ 04 августа 2011

У меня и других была эта проблема.Это каталог ключей, который уже существует в хранилище ключей с тем же именем, что и каталог ключей, который пытается создать Fiddler (возможно, из предыдущей версии Fiddler).

Каталог ключей на моем компьютере находитсяв:

C:\Users\\[username]\AppData\Roaming\Microsoft\Crypto\RSA\\[folder-with-big-name]\

Обратите внимание, что конфликт фактически был именем папки ключей.Я просто переименовал папку, а затем генерация ключей работала нормально.

См. Эту ссылку для получения дополнительной информации: https://groups.google.com/d/msg/httpfiddler/B-Mu6AxgiIc/LY69rWUBshMJ

14 голосов
/ 17 января 2014

У меня была та же проблема на моем Windows 8. Удаление файлов ключей вручную для @ Nicholas-Cloud мне не помогло. Поэтому я продолжал пробовать разные вещи и, наконец, смог с этим разобраться.

Для решения проблемы с сертификатом я сделал следующее:

  1. В разделе Сервис-> Параметры-> вкладка HTTPS сняли флажок «Расшифровать трафик HTTPS». Это активировало кнопку «Удалить сертификаты перехвата» внизу диалога
  2. Нажал кнопку «Удалить сертификаты перехвата»
  3. Сказал "Да" всем всплывающим сообщениям
  4. Включен параметр «Расшифровать ...» назад.
  5. Последовательность всплывающих сообщений будет следовать, как описано в Этапы настройки Fiddler для Windows 8

Примечание. Если описанные выше шаги не помогли, попробуйте переустановить Fiddler и повторить шаги. Сначала я переустановил его, прежде чем перейти к параметрам HTTP.

12 голосов
/ 07 октября 2014

жестко запрограммированная команда fiddler устарела.

все прекращают удаление папки.

просто установите плагин fliddler, который, как утверждается, генерирует «лучший сертификат, работающий с android».это в официальном списке плагинов Fiddler.

этот плагин исправит это для вас.

8 голосов
/ 13 сентября 2012

Если генерация сертификата 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

Если генерация сертификата не удалась, существующий закрытый ключ необходимо удалить. См. http://poshcode.org/3637 для инструмента для поиска закрытого ключа для сертификата.

Запустите его:

Get-PrivateKeyPath CN=DO_NOT_TRUST_FiddlerRoot

Будет возвращено что-то вроде c:\Users\JoeUser\AppData\Roaming\Microsoft\Crypto\RSA\7b90a71bfc56f2582e916a51aed6df9a_f6d54f4e-ff40-450e-9d77-7cfc383b357 Удалите этот файл и повторите попытку создания сертификата. Это должно преуспеть. НЕ уничтожьте весь свой магазин закрытых ключей.

7 голосов
/ 11 мая 2015

Простым решением для меня было установить Fiddler CertMaker

2 голосов
/ 22 ноября 2011

У меня была такая же ошибка. Это, безусловно, было связано с наличием более ранних версий Fiddler и некоторой несовместимостью между ними.

Вышеуказанная папка используется только Fiddler, где она хранит созданные им сертификаты (или, по крайней мере, для личных сертификатов на вашем ящике, и Fiddler, безусловно, единственный, кто ее использует). Вы можете проверить, есть ли у вас другие личные сертификаты, чем Fiddler. В IE это использует Сервис / Свойства обозревателя / Контент / Сертификаты / Личные.

Полностью очистите папку и не бойтесь сообщения об удалении системных файлов. Затем в Fiddler снова выберите параметры захвата и расшифруйте трафик HTTPS. При необходимости повторно экспортируйте корневой сертификат Fiddler на рабочем столе, а затем импортируйте его в IE и FF. При необходимости перезапустите браузер и наслаждайтесь.

Полагаю, вместо удаления всего этого удаления только в IE закрытый сертификат, выданный DO_NOT_TRUST_FIddlerRoot, делает то же самое, но я не проверял это.

Не забудьте отключить опцию дешифрования, как только она вам больше не понадобится.

2 голосов
/ 18 ноября 2011

Николас ответ правильный.Чтобы другие тоже могли найти эту страницу:

Это может быть полезно, если вы получаете сообщение «Невозможно экспортировать корневой сертификат Fiddler» при нажатии кнопки «Экспорт корневого сертификата Fiddler на рабочий стол» в Fiddler иливызовите Fiddler.CertMaker.createRootCert () из кода.

1 голос
/ 27 апреля 2013

Вы можете определить конфликтующий файл, выполнив поиск «JoeSoft» в содержимом файлов из C: \ Users \\ AppData \ Roaming \ Microsoft \ Crypto \ RSA \ path.

1 голос
/ 04 июня 2012

В дополнение к ответу Николаса Клауса, вот небольшой скрипт, который поможет вам переименовать эту папку:

# 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"

Добавление комментария к ответу Николаса позволило мне отформатировать код, поэтому я в итоге создалотдельный ответ.

...