может стать использование программы Fiddler2 не в состоянии генерировать сертификат
Я использую Fiddler2 (или пытаюсь) для захвата трафика SSL для настольного гаджета windows, поражающего веб-службу https. Раньше он работал, а потом остановился пару дней назад, всегда с этой ошибкой:
---------------------------
Unable to Generate Certificate
---------------------------
Creation of the interception certificate failed.
makecert.exe returned -1.
Results from C:Program FilesFiddler2MakeCert.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, хотя я только что опубликовал свой собственный, и он должен быть виден в ближайшее время).
кто-нибудь имел эту проблему и решить ее? Это Fiddler просто сломался?
11 ответов
В Win7
- Так иди сюда:
C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\
- выберите все файлы (с именем UUIDS).
- переместить эти файлы на рабочий стол или другую папку за пределами
AppData
реж. - запуск Саша перейдите к
Tools
|Fiddler Options
|Enable HTTPS decryption
- смотрите, что он работает на этот раз (надеюсь).
- переместите файлы обратно из их временного местоположения (т. е.
Desktop
),
их оригинал:C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\
- когда один из файлов спрашивает Хотите ли вы заменить существующий,
skip
его.
У меня и других была эта проблема. Это каталог ключей, который уже существует в хранилище ключей с тем же именем, что и каталог ключей, который пытается создать Fiddler (возможно, из предыдущей версии Fiddler).
каталог ключей на моей машине находится в:
C:\Users\[username]\AppData\Roaming\Microsoft\Crypto\RSA\[folder-with-big-name]\
обратите внимание, что конфликт на самом деле был именем ключевой папки. Я просто переименовал папку, а затем генерация ключей работала нормально.
см. эту ссылку для получения дополнительной информации: https://groups.google.com/d/msg/httpfiddler/B-Mu6AxgiIc/LY69rWUBshMJ
У меня была такая же проблема на Windows 8 окно. Ручное удаление ключевых файлов на @Nicholas-Cloud не помогло мне. Поэтому я продолжал пробовать разные вещи и, наконец, смог разобраться в этом.
чтобы решить проблему с сертификатом, я сделал следующее:
- in Tools->Options->HTTPS tab снимите флажок "расшифровать трафик HTTPS". Это включило кнопку "Удалить сертификаты перехвата" в нижней части диалогового окна
- нажмите " Удалить Кнопка" сертификаты "перехват"
- сказал "Да" на все всплывающие сообщения
- включено "расшифровать...- вариант назад.
- серия всплывающих сообщений будет следовать, как описано в Fiddler Windows 8 Шаги Настройки
Примечание: Если вышеуказанные шаги не помогут вам, попробуйте переустановить Fiddler и повторить шаги. Сначала я переустановил его, прежде чем перейти к параметрам HTTP.
команда fiddler hardcoded устарела.
все удаление папки.
просто установите плагин fliddler, который утверждает, что генерирует "лучший сертификат, который работает с android". его в официальном списке плагинов fiddler.
этот плагин исправит это для вас.
Если не удается создать сертификат 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\RSAb90a71bfc56f2582e916a51aed6df9a_f6d54f4e-ff40-450e-9d77-7cfc383b357
Удалите этот файл и повторите попытку создания сертификата. Она должна увенчаться успехом. Do не уничтожить весь ваш секретный ключ магазина.
Николас ответил правильно. Чтобы помочь другим найти эту страницу:
Это может быть полезно, если вы получаете сообщение "невозможно экспортировать корневой сертификат Fiddler", когда вы нажимаете кнопку "Экспорт корневого сертификата Fiddler на рабочий стол" в Fiddler или вызываете Fiddler.CertMaker.createRootCert () из кода.
У меня была такая же ошибка. Это, безусловно, было связано с наличием более ранних версий Fiddler и некоторой несовместимостью между ними.
вышеуказанная папка используется только Fiddler, где он хранит сертификаты, которые он создает (или, по крайней мере, для личных сертификатов на вашем ящике, и Fiddler, безусловно, единственный, кто его использует). Вы можете проверить, есть ли у вас другие личные сертификаты, кроме Fiddler. В IE это использует инструменты / Свойства обозревателя / контент / сертификаты / личный.
полностью опустошите папку и не бойтесь сообщения об удалении системных файлов. Затем в Fiddler снова выберите параметры для захвата, а затем расшифруйте трафик HTTPS. При необходимости повторно экспортируйте корневой сертификат Fiddler на рабочий стол, затем повторно импортируйте его в IE и FF. При необходимости перезапустите браузеры и наслаждайтесь.
Я полагаю, что вместо удаления всего этого удаления только в IE частный сертификат, выданный DO_NOT_TRUST_FIddlerRoot, делает то же самое но я не проверял это.
Не забудьте отключить опцию расшифровки, как только вам это больше не нужно.
в дополнение к ответу 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"
добавление комментария к ответу Николаса позволило мне отформатировать код, поэтому я создал отдельный ответ.
вы можете определить конфликтующий файл, ища "JoeSoft" в содержимом файлов из C:\Users\\AppData\Roaming\Microsoft\Crypto\RSA \ путь.
У меня была эта точная ошибка и я смог решить ее только:
- обновление в описании fiddlercore
- как @DemytroUa сказали в Сервис->Параметры->вкладку https снят "захвате вариант CONNECTSs" протокол HTTPS. И нажав кнопку "Удалить сертификаты перехвата" в нижней части диалогового окна"
- Открытие диспетчера сертификатов (введите certmgr.msc в диалоговом окне запуска-windows + r)
- перейдите в личные -> Сертификаты
- удаление всех сертификатов "DO_NOT_TRUST_FiddlerRoot"
- на проверку скрипача " расшифровать HTTPS-трафик в инструментах - > параметры скрипача - > вкладка HTTPS
возможно, вам нужно только обновить fiddlerCore (см. этой так вопрос для более подробной информации), но я перечислил все, что я сделал, чтобы быть в полной безопасности.