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é?
C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\
AppData
dir. Tools
| Fiddler Options
| Enable HTTPS decryption
Desktop
),C:\Users\<username>\AppData\Roaming\Microsoft\Crypto\RSA\
skip
le.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
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:
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.
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.
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.
La solution simple pour moi était d'installer le Fiddler CertMaker
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.
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.
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 \.
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.
J'ai eu cette erreur exacte et n'ai pu le résoudre que par:
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.
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