Sto utilizzando FiddlerCore per acquisire richieste HTTP. Tutto funziona, comprese le Cattura SSL finché il certificato Fiddler viene installato manualmente. Ho usato l'installazione manuale tramite il menu Opzioni di Fiddler e questo funziona perfettamente.Come si ottiene l'installazione del certificato programmatico FiddlerCore su "stick"?
Tuttavia, se uso il FiddlerCore fornito metodi statici CertMaker
di classe per aggiungere il certificato Fiddler trovo che posso utilizzare il certificato aggiunto alla radice del CERT solo nella sessione corrente. Non appena ho chiuso l'applicazione e riavviato, CertMaker.rootCertExists()
restituisce false.
Io uso il seguente codice per installare il certificato per l'utente corrente (da un menu esplicito a questo punto):
public static bool InstallCertificate()
{
if (!CertMaker.rootCertExists())
{
if (!CertMaker.createRootCert())
return false;
if (!CertMaker.trustRootCert())
return false;
}
return true;
}
il CERT viene installato e lo vedo nell'archivio principale CERT per la utente attuale. Se acquisisco richieste SSL nell'applicazione attualmente in esecuzione, funziona correttamente.
Tuttavia, se chiudo l'exe in esecuzione, riavvio e chiamo CertMaker.certRootExists()
restituisce false e se provo a catturare richieste SSL la connessione SSL non riesce nel browser. Se ricrei il certificato e poi rieseguo le richieste nel browser mentre l'app rimane attiva, funziona di nuovo. Ora finisco con due certificati nell'archivio principale.
Dopo l'uscita e il riavvio, certMaker.certRootExists()
restituisce nuovamente false. L'unico modo per farlo funzionare è registrare la sessione certificata.
Cosa sto facendo male perché l'installazione non si attacca tra l'esecuzione della stessa applicazione?
grazie mille per quella soluzione. Tuttavia, è possibile che non funzioni per Firefox? Nel fare ciò, ho bisogno di installare manualmente in firefox FiddlerRoot.cer. c'è un modo per evitarlo? – Cher
C'è un modo per sopprimere la finestra di pop-up che mostra di installare cert –