fiddler2 incapable de générer un certificat
J'utilise Fiddler2 (ou j'essaie) de capturer le trafic SSL pour un gadget Windows qui frappe un service web https. Ça marchait, et puis ça s'est arrêté il y a quelques jours, toujours avec cette erreur:
---------------------------
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
-------------------------------------------
(j'ai copié l'erreur du groupe google pour fiddler, bien que j'ai juste posté le mien et il devrait être visible bientôt).
quelqu'un d'autre A eu ce problème et l'a résolu? Est Fiddler juste cassé?
11 réponses
Win7
- alors allez ici:
C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\
- sélectionnez tous les fichiers (nommés avec UUIDS).
- déplacez ces fichiers vers votre bureau ou un autre dossier à l'extérieur de
AppData
dir. - Lancement Fiddler , aller à
Tools
|Fiddler Options
|Enable HTTPS decryption
- voir que cela fonctionne cette fois (espérons).
- déplacer les fichiers de leur emplacement temporaire (i.e.,
Desktop
),
à leur original:C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\
- quand un des fichiers demande si vous voulez remplacer le fichier existant,
skip
it.
moi et d'autres ont eu ce problème. C'est un répertoire clé qui existe déjà dans le magasin de clés avec le même nom que le répertoire clé que Fiddler essaie de créer (probablement à partir d'une version précédente de Fiddler).
le répertoire clé de ma machine est situé dans:
C:\Users\[username]\AppData\Roaming\Microsoft\Crypto\RSA\[folder-with-big-name]\
notez que le conflit était en fait le nom du dossier clé. Je viens de renommer le dossier et la génération de clés a bien fonctionné.
voir ce lien pour plus d'information: https://groups.google.com/d/msg/httpfiddler/B-Mu6AxgiIc/LY69rWUBshMJ
j'ai eu le même problème sur ma boîte Windows 8. Supprimer manuellement les fichiers clés par @ Nicholas-Cloud ne m'a pas aidé. Donc j'ai continué à essayer différentes choses et j'ai finalement été capable de régler ça.
pour résoudre le problème de certificat j'ai fait ce qui suit:
- dans Outils->Options->onglet HTTPS non coché l'option" décrypter HTTPS traffic". Cela a activé le bouton "Supprimer les certificats D'Interception" en bas de la boîte de dialogue
- a cliqué sur le bouton" Supprimer les certificats d'Interception
- a dit "oui" à tous les messages pop-up
- a activé le" décryptage..."l'option de retour.
- la série de messages pop-up suivra comme décrit dans Fiddler Windows 8 étapes de Configuration
Note: si les étapes ci-dessus ne vous aident pas, essayez de réinstaller Fiddler et de répéter les étapes. Je n'ai ré-installé d'abord, avant de passer aux options HTTP.
est périmée.
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". de son sur les officiel fiddler liste des plugins.
ce plugin va le corriger pour vous.
si la génération de certificat Fiddler échoue, le correctif approprié est de choisir à la main la clé privée Fiddler2 existante et de la supprimer. Le code PowerShell ci-dessus pour détruire complètement le magasin de clé privée de l'utilisateur est une très mauvaise idée. Cela rendra chaque 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 de certificat échoue, la clé privée existante doit être supprimé. Voir http://poshcode.org/3637 pour outil de recherche de clé privée pour un certificat.
de l'Exécuter:
Get-PrivateKeyPath CN=DO_NOT_TRUST_FiddlerRoot
il retournera quelque chose comme c:\Users\JoeUser\AppData\Roaming\Microsoft\Crypto\RSAb90a71bfc56f2582e916a51aed6df9a_f6d54f4e-ff40-450e-9d77-7cfc383b357
Supprimez ce fichier et tentez de générer à nouveau le certificat. Elle devrait réussir. Faire PAS détruire la totalité de votre magasin de clés privées.
la solution simple pour moi était d'installer le Fiddler CertMaker
"la réponse de Nicolas est correcte. Afin d'aider les autres à trouver cette page:
cela peut être utile si vous recevez le message" Impossible d'exporter le certificat racine de Fiddler "lorsque vous cliquez sur le bouton" Exporter le certificat racine de Fiddler vers le bureau " dans Fiddler, ou appelez Fiddler.CertMaker.createRootCert () à partir du code.
j'ai eu la même erreur. C'était certainement dû à la présence de versions antérieures de Violoniste et d'une incompatibilité entre eux.
le dossier ci-dessus n'est utilisé que par Fiddler où il stocke les certificats qu'il crée (ou du moins pour les certificats personnels sur votre boite et Fiddler est certainement le seul à l'utiliser). Vous pouvez vérifier si vous avez d'autres certificats personnels que Fiddler. Dans IE ceci utilise des Outils / options internet / contenu / certificats / personnel.
videz complètement le dossier et n'ayez pas peur du message concernant la suppression des fichiers système. Ensuite, dans Fiddler, sélectionnez à nouveau les options pour capturer puis décrypter le trafic HTTPS. Si nécessaire, réexportez le certificat racine de Fiddler sur le bureau puis réimportez-le dans IE et FF. Redémarrez vos navigateurs si nécessaire et profitez.
je suppose qu'au lieu de supprimer tout ce qui supprime seulement dans IE le certificat privé délivré à DO_NOT_TRUST_FIddlerRoot fait la même chose mais je ne l'ai pas testé.
N'oubliez pas d'éteindre l'option de décryptage dès que vous n'en avez plus besoin.
en plus de la réponse de Nicholas Cloud, voici un petit script qui vous aidera à 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"
Ajouter un commentaire à la réponse de Nicholas m'a permis de formater le code et j'ai fini par créer une réponse séparée.
vous pouvez identifier le fichier en conflit en recherchant "JoeSoft" dans le contenu des fichiers à partir de la C:\Users\\AppData\Roaming\Microsoft\Crypto\RSA \ path.
j'ai eu cette erreur exacte et n'ai pu la résoudre que par:
- mise à Jour fiddlerCore
- comme @DemytroUa l'a dit dans Outils->Options->onglet HTTPS non vérifié l'option" Capture HTTPS CONNECTSs". Et en cliquant sur le bouton "Supprimer les certificats D'Interception" en bas de la boîte de dialogue'
- ouverture du gestionnaire cert (entrer certmgr.msc dans la boîte de dialogue exécuter de windows + r)
- Naviguer dans le personnel - > certificats
- suppression de tous les "certificats" DO_NOT_TRUST_FiddlerRoot
- Sur le Violoneux, cochez la case "Déchiffrer le trafic HTTPS dans Outils->Fiddler Options->onglet HTTPS
il est possible que vous n'ayez qu'à mettre à jour fiddlerCore (voir cette "question 151950920" pour plus de détails), mais j'ai énuméré tout ce que j'ai fait pour être totalement sûr.