web-dev-qa-db-fra.com

fiddler2 incapable de générer le certificat

J'utilise Fiddler2 (ou j'essaie) de capturer le trafic SSL d'un gadget de bureau Windows sur un service Web https. Cela fonctionnait, puis cela s’est arrêté il ya quelques jours, toujours avec cette erreur:

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

(J'ai balayé l'erreur du groupe google pour le violoniste, bien que je vienne de poster la mienne et qu'elle soit visible bientôt).

Quelqu'un at-il eu ce problème et l'a résolu? Est-ce que Fiddler est juste cassé?

36
Ben Collins

Dans Win7

  • Alors allez ici: C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\
  • Sélectionnez all les fichiers (nommés avec UUIDS).
  • Déplacez ces fichiers sur votre bureau ou un autre dossier en dehors de AppData dir. 
  • Lancement Fiddler , allez à Tools | Fiddler Options | Enable HTTPS decryption
  • Voir que cela fonctionne cette fois (espérons-le).
  • Recule les fichiers de leur emplacement temporaire (c.-à-d. Desktop),
    à leur original: C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\
  • Lorsque l'un des fichiers vous demande si vous souhaitez remplacer le fichier existant, skip le.
36
user1740078

Moi et d'autres avons eu ce problème. C'est un répertoire de clés qui existe déjà dans le magasin de clés avec le même nom que celui que Fiddler tente de créer (probablement à partir d'une version précédente de Fiddler).

Le répertoire de clés sur ma machine se trouve dans: 

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

Notez que le conflit était en fait le nom du dossier de clé. Je viens de renommer le dossier, puis la génération de clés a bien fonctionné.

Consultez ce lien pour plus d'informations: https://groups.google.com/d/msg/httpfiddler/B-Mu6AxgiIc/LY69rWUBshMJ

31
Nicholas Cloud

J'ai eu le même problème sur ma machine Windows 8. Supprimer manuellement les fichiers de clé selon @ Nicholas-Cloud ne m'a pas aidé. Alors j'ai continué à essayer différentes choses et j'ai finalement pu résoudre ce problème.

Pour résoudre le problème du certificat, j'ai procédé comme suit:

  1. Dans Outils-> Options-> onglet HTTPS, décochez l'option "Déchiffrer le trafic HTTPS". Ceci a activé le bouton "Supprimer les certificats d'interception" au bas de la boîte de dialogue.
  2. Cliqué sur le bouton "Supprimer les certificats d'interception"
  3. Dit "Oui" à tous les messages pop-up
  4. Activé l'option "Décrypter ...".
  5. La série de messages contextuels suivra comme décrit dans Étapes de configuration de Fiddler Windows 8

Remarque: si les étapes ci-dessus ne vous aident pas, essayez de réinstaller Fiddler et de les répéter. Je l'ai d'abord réinstallé avant de passer aux options HTTP.

14
dmytroUa

la commande codée en dur du fiddler est obsolète.

tout le monde arrête de supprimer le dossier.

il suffit d’installer le plugin fliddler qui prétend générer un "meilleur cert qui fonctionne avec Android". c'est sur la liste officielle des plugins de violoneux.

ce plugin va le réparer pour vous.

12
gcb

Si la génération de certificat Fiddler échoue, le correctif approprié consiste à sélectionner manuellement la clé privée Fiddler2 existante et à la supprimer. Le code PowerShell ci-dessus pour détruire complètement le magasin de clés privées de l'utilisateur est une très mauvaise idée. Cela rendra tout certificat personnel inutile. 

Confirmez le problème en exécutant la même commande que Fiddler2 exécuterait:

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

Si la génération du certificat échoue, la clé privée existante doit être supprimée. Voir http://poshcode.org/3637 pour un outil permettant de trouver la clé privée d'un certificat.

Exécuter:

Get-PrivateKeyPath CN=DO_NOT_TRUST_FiddlerRoot

Il renverra quelque chose comme c:\Users\JoeUser\AppData\Roaming\Microsoft\Crypto\RSA\7b90a71bfc56f2582e916a51aed6df9a_f6d54f4e-ff40-450e-9d77-7cfc383b357 Supprimez ce fichier et essayez à nouveau de générer le certificat. Ça devrait réussir. Ne PAS détruisez tout votre magasin de clés privées.

8
Jari Turkia

La solution simple pour moi était d'installer le Fiddler CertMaker

7
IsolatedStorage

La réponse de Nicolas est correcte. Pour aider les autres à trouver cette page aussi: 

Cela peut être utile si vous obtenez le message "Impossible d'exporter le certificat racine du Fiddler" lorsque vous cliquez sur le bouton "Exporter le certificat racine du Fiddler sur le bureau" dans Fiddler ou appelez Fiddler.CertMaker.createRootCert () à partir du code.

2
Tom de Waard

J'ai eu la même erreur… .. C'était certainement dû à la présence de versions antérieures de Fiddler et à une incompatibilité entre elles.

Le dossier ci-dessus est utilisé uniquement par Fiddler où il stocke les certificats qu'il crée (ou au moins pour les certificats personnels sur votre boîte et Fiddler est certainement le seul à l’utiliser). Vous voudrez peut-être vérifier si vous avez d'autres certificats personnels que ceux de Fiddler. Dans IE, cela utilise Outils/options Internet/contenu/certificats/personnel.

Vider totalement le dossier et ne pas avoir peur du message sur la suppression des fichiers système . Puis dans Fiddler, sélectionnez à nouveau les options pour capturer puis déchiffrer le trafic HTTPS . Si nécessaire, réexportez le certificat racine Fiddler le le bureau puis réimportez-le dans IE et FF . Redémarrez votre navigateur si nécessaire et profitez-en.

Je suppose qu'au lieu de supprimer tout cela, supprimer uniquement dans IE le certificat privé délivré à DO_NOT_TRUST_FIddlerRoot fait de même, mais je n'ai pas testé cela.

N'oubliez pas de désactiver l'option de déchiffrement dès que vous n'en avez plus besoin.

2
olivier

Vous pouvez identifier le fichier en conflit en recherchant "JoeSoft" dans le contenu des fichiers à partir du chemin C:\Utilisateurs \\ AppData\Roaming\Microsoft\Crypto\RSA \.

1
Mecu Sorin

En complément de la réponse de Nicholas Cloud, voici un petit script qui vous aide à renommer ce dossier:

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

L'ajout d'un commentaire à la réponse de Nicholas m'a permis de formater le code. J'ai donc fini par créer une réponse distincte.

1
Ameer Deen

J'ai eu cette erreur exacte et n'ai pu le résoudre que par:

  1. Mise à jour de fiddlerCore
  2. Comme @DemytroUa a dit 'Dans Outils-> Options-> onglet HTTPS, décochez l'option "Capturer les connexions HTTPS". Et en cliquant sur le bouton "Supprimer les certificats d'interception" au bas de la boîte de dialogue '
  3. Ouverture du gestionnaire de cert (entrez certmgr.msc dans la boîte de dialogue Exécuter - windows + r)
  4. Naviguer dans Personnel -> Certificats
  5. Suppression de tous les certificats "DO_NOT_TRUST_FiddlerRoot"
  6. Sur Fiddler, cochez la case "Déchiffrer le trafic HTTPS dans Outils-> Options Fiddler-> Onglet HTTPS.

Il est possible que vous deviez seulement mettre à jour fiddlerCore (Voir la question this SO pour plus de détails), mais j’ai énuméré tout ce que j’ai fait pour être totalement sûr.

0
ajon

cd dans le dossier d’installation "d:\Program Files\Fiddler" lancez la commande suivante

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

Un certificat sera créé et le problème sera résolu

0
Nightcap79