Ich verwende FiddlerCore, um HTTP-Anfragen zu erfassen. Alles funktioniert einschließlich SSL Captures, solange das Fiddler-Zertifikat manuell installiert wird. Ich habe die manuelle Installation über das Menü "Optionen" von Fiddler verwendet, und das funktioniert einwandfrei.Wie bekomme ich die programmatische Zertifikatsinstallation von FiddlerCore?
Allerdings, wenn ich die FiddlerCore verwenden, sofern CertMaker
Klasse statische Methoden das Fiddler Zertifikat finde ich hinzufügen, dass ich nur in der aktuellen Sitzung das Zertifikat hinzugefügt, um die cert Wurzel verwenden kann. Sobald ich die Anwendung herunterfahre und wieder starte, gibt false zurück.
Ich verwende den folgenden Code, um das Zertifikat für den aktuellen Benutzer (aus einer expliziten Menüoption an diesem Punkt) zu installieren:
public static bool InstallCertificate()
{
if (!CertMaker.rootCertExists())
{
if (!CertMaker.createRootCert())
return false;
if (!CertMaker.trustRootCert())
return false;
}
return true;
}
Die cert wird installiert, und ich sehe es im Root-Zertifikat-Store für die aktueller Benutzer Wenn ich SSL-Anfragen in der aktuell laufenden Anwendung aufzeichne, funktioniert es einwandfrei.
Wenn ich jedoch die laufende exe herunterfahren, neu starten und CertMaker.certRootExists()
aufrufen, wird false zurückgegeben und wenn ich versuche, SSL-Anfragen zu erfassen, schlägt die SSL-Verbindung im Browser fehl. Wenn ich das Zertifikat neu erstellen und die Anforderungen im Browser erneut ausführen, während die App ausgeführt wird, funktioniert es erneut. Ich habe jetzt zwei Zertifikate im Stammspeicher.
Nach dem Beenden und erneutem Starten certMaker.certRootExists()
gibt wieder false zurück. Die einzige Möglichkeit, es zum Laufen zu bringen, ist die Registrierung der cert - exe - Sitzung.
Was mache ich falsch, damit die Installation nicht zwischen der Ausführung der gleichen Anwendung bleibt?
vielen Dank für diese Lösung. Ist es jedoch möglich, dass es nicht für Firefox funktioniert? Wenn ich das mache, muss ich manuell in Firefox FiddlerRoot.cer installieren. Gibt es eine Möglichkeit, dies zu vermeiden? – Cher
Gibt es eine Möglichkeit, den Popup-Dialog zu unterdrücken, der die Installation von cert anzeigt –