Подтвердить что ты не робот

Fiddler2 не может сгенерировать сертификат

Я использую 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 для скрипача, хотя я только что разместил свой собственный, и он скоро будет видимым).

У кого-нибудь еще была эта проблема и она была решена? Скрыт ли Fiddler?

4b9b3361

Ответ 1

В Win7

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

Ответ 2

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

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

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

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

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

Ответ 3

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

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

  • На вкладке "Инструменты- > Параметры- > HTTPS не установлен флажок" Расшифровать протокол HTTPS ". Это включало кнопку" Удалить перехват сертификатов" в нижней части диалогового окна
  • Нажмите кнопку "Удалить сертификаты перехвата"
  • "Да" для всех всплывающих сообщений
  • Включить опцию "Расшифровать...".
  • Последовательность всплывающих сообщений будет следовать, как описано в Шагах конфигурации Fiddler Windows 8

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

Ответ 4

Команда hardcoded fiddler устарела.

все перестают удалять папку.

просто установите плагин fliddler, который утверждает, что генерирует "лучший сертификат, который работает с android". его в списке плагинов официального скрипача.

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

Ответ 5

Если генерация сертификата 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 Удалите этот файл и повторите попытку создания сертификата. Это должно быть успешным. Do НЕ уничтожить все хранилище личных ключей.

Ответ 6

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

Ответ 7

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

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

Ответ 8

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

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

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

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

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

Ответ 9

В качестве дополнения к Nicholas Cloud ответьте здесь немного script, который поможет вам переименовать эту папку:

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

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

Ответ 10

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

Ответ 11

У меня была эта точная ошибка, и я смог ее решить:

  • Обновление fiddlerCore
  • Как @DemytroUa сказал: "На вкладке" Инструменты "-" Параметры "- > HTTPS отключена опция" Capture HTTPS CONNECTSs ". И нажав кнопку" Удалить перехват сертификатов "в нижней части диалогового окна"
  • Открытие диспетчера сертификатов (введите certmgr.msc в диалоговом окне запуска - windows + r)
  • Перейдите в Личный → Сертификаты
  • Удаление всех сертификатов "DO_NOT_TRUST_FiddlerRoot"
  • В Fiddler проверить "Расшифровать трафик HTTPS в Tools- > Fiddler Options- > вкладке HTTPS

Возможно, вам нужно только обновить fiddlerCore (см. этот вопрос для более подробной информации), но я перечислил все, что я сделал, чтобы быть в полной безопасности.