Fiddler2を使用して(または試行して)、httpsデスクトップサービスにアクセスするWindowsデスクトップガジェットのSSLトラフィックをキャプチャしています。以前は機能していたが、数日前に停止し、常に次のエラーが発生した。
---------------------------
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
-------------------------------------------
(fiddlerのgoogleグループからエラーをスワイプしましたが、自分のエラーを投稿しただけで、すぐに表示されるはずです)。
他の誰かがこの問題を抱えて解決しましたか?フィドラーは壊れていますか?
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
します。私や他の人がこの問題を抱えています。これは、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ごとにキーファイルを手動で削除しても、役に立ちませんでした。だから私はいろいろなことを試し続け、ついにこれを整理することができました。
証明書の問題を解決するために、次のことを行いました。
注:上記の手順で問題が解決しない場合は、Fiddlerを再インストールして、手順を繰り返してみてください。 HTTPオプションを取得する前に、最初に再インストールしました。
fiddlerのハードコードされたコマンドは古くなっています。
誰もがフォルダの削除を停止します。
「Androidで動作するより優れた証明書」を生成すると主張するfliddlerプラグインをインストールするだけです。公式のフィドラープラグインリストにあります。
そのプラグインはあなたのためにそれを修正します。
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
のようなものが返されます。そのファイルを削除して、証明書の再生成を試みます。成功するはずです。行う[〜#〜]しない[〜#〜]で秘密鍵ストア全体を破棄します。
私にとっての簡単な修正は、 Fiddler CertMaker をインストールすることでした。
ニコラスの答えは正しいです。他の人もこのページを見つけるのを助けるために:
これは、Fiddlerの[Fiddlerのルート証明書をデスクトップにエクスポート]ボタンをクリックするか、コードからFiddler.CertMaker.createRootCert()を呼び出すと、「Fiddlerのルート証明書をエクスポートできません」というメッセージが表示される場合に役立ちます。
同じエラーが発生しました。これは確かに、以前のバージョンのFiddlerの存在と、それらの間の非互換性によるものでした。
上記のフォルダーはFiddlerによってのみ使用され、Fiddlerが作成する証明書を格納します(または少なくともボックス上の個人証明書用であり、Fiddlerだけが使用されます)。 Fiddler以外の個人証明書があるかどうかを確認することをお勧めします。 IEでは、これはツール/インターネットオプション/コンテンツ/証明書/個人を使用しています。
フォルダを完全に空にし、システムファイルの削除に関するメッセージを恐れないでください。次に、Fiddlerで、HTTPSトラフィックをキャプチャして復号化するオプションを再度選択します。必要に応じて、Fiddlerのルート証明書をデスクトップに再エクスポートしてから、IEおよびFFに再インポートします。必要に応じてブラウザーを再起動してお楽しみください。
すべてを削除するのではなく、IE DO_NOT_TRUST_FIddlerRootに発行されたプライベート証明書も同じように削除しますが、これはテストしていません。
解読オプションは、不要になったらすぐにオフにしてください。
C:\ Users \\ AppData\Roaming\Microsoft\Crypto\RSA \パスにあるファイルのコンテンツで「JoeSoft」を探すことにより、競合するファイルを特定できます。
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"
Nicholasの返信にコメントを追加すると、コードをフォーマットできるため、別の返信を作成することになりました。
私はこの正確なエラーがあり、それを解決することができました:
FiddlerCore(詳細については this SO question)を参照)を更新するだけでよい可能性がありますが、私は完全に安全になるために行ったすべてのことをリストしました。
インストールフォルダー「d:\ Program Files\Fiddler」にcdして、次のコマンドを実行します。
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
証明書が作成され、問題が解決されます