In my program; I use Fiddler Core. When ran on a pc; it set's the proxy as it should but when trying to browse the network with the proxy on; i'm getting "Your connection is Not private"; error message on all browsers. Please see attached photos for reference. Here is my running code:
private void stopfiddler()
{
if (!FiddlerApplication.IsStarted())
{
}
else
{
FiddlerApplication.Shutdown();
}
}
public static void SavePreferences()
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
string cert = ConfigurationManager.AppSettings["fiddler.certmaker.bc.cert"];
string key = ConfigurationManager.AppSettings["fiddler.certmaker.bc.key"];
if (cert == null || key == null)
{
config.AppSettings.Settings.Add("fiddler.certmaker.bc.cert", FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.cert", null));
config.AppSettings.Settings.Add("fiddler.certmaker.bc.key", FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.key", null));
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
else
{
config.AppSettings.Settings["fiddler.certmaker.bc.cert"].Value = FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.cert", null);
config.AppSettings.Settings["fiddler.certmaker.bc.key"].Value = FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.key", null);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
}
public static bool IsCertCreated()
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
string cert = ConfigurationManager.AppSettings["fiddler.certmaker.bc.cert"];
string key = ConfigurationManager.AppSettings["fiddler.certmaker.bc.key"];
if (cert != null && key != null)
{
return true;
}
else
{
return false;
}
}
public static void RemoveFiddlerPreferences()
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Remove("fiddler.certmaker.bc.cert");
config.AppSettings.Settings.Remove("fiddler.certmaker.bc.key");
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name);
}
public static void LoadPreferences()
{
string cert = ConfigurationManager.AppSettings["fiddler.certmaker.bc.cert"];
string key = ConfigurationManager.AppSettings["fiddler.certmaker.bc.key"];
if (!string.IsNullOrEmpty(cert) && !string.IsNullOrEmpty(key))
{
FiddlerApplication.Prefs.SetStringPref("fiddler.certmaker.bc.cert", cert);
FiddlerApplication.Prefs.SetStringPref("fiddler.certmaker.bc.key", key);
}
}
private void Installcert()
{
if (IsCertCreated())
{
}
else
{
BCCertMaker.BCCertMaker certProvider = new BCCertMaker.BCCertMaker();
certProvider.CreateRootCertificate();
X509Certificate2 rootCert = certProvider.GetRootCertificate();
// Create a certificate store and add the root certificate to it
X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
store.Add(rootCert);
SavePreferences();
}
}
private void Remove()
{
using (var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine))
{
store.Open(OpenFlags.ReadWrite);
var certificatesToRemove = store.Certificates
.Cast<X509Certificate2>()
.Where(c => c.SubjectName.Name.ToLower().Contains("DO_NOT_TRUST_FiddlerRoot"))
.ToList();
foreach (var cert in certificatesToRemove)
{
string certPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, cert.Thumbprint + ".cer");
if (File.Exists(certPath))
{
File.Delete(certPath);
}
store.Remove(cert);
}
RemoveFiddlerPreferences();
store.Close();
MessageBox.Show("Deleted");
}
}
private void appentext(string value)
{
if (InvokeRequired)
{
return;
}
}
Okay, so i'm not sure if this is in the right spot or not but here it goes.
I am using Fiddler Core in my C# program. In my program; I have several checkboxes and each checkbox sets utilreplaceinresponse; while this is all good; After the session is complete; I need to have Fiddler Block that same url from reloading unless the program is closed or cache is cleared. How can I achieve this?
When I tried to install the certificate with this function, it popped up and installed the certificate, but still reminded me when I tried to decrypt the https traffic
"To view the encrypted sessions inside this tunnel, enable the Tools > Options > HTTPS > Decrypt HTTPS traffic option."
public static bool InstallCertificate() { if (!CertMaker.rootCertExists()) { if (!CertMaker.createRootCert()) return false; if (!CertMaker.trustRootCert()) return false; } return true; }
Is it because of this function? What should I do, please help me...
Hi,
I lost my data after recovering the data when I'm opening the saz file it shows me this error. "The selected file is not a Fiddler-generated .SAZ archive of Web Sessions." Picture attached. A quick response will be highly appreciated
Regards,
Raph
I have Fiddler up and running on box A. I can see all traffic from my local machine and my autoresponders are working as expected.
On my Android cell phone I have set up the network to use box A as proxy. The pages are being rendered in the Android browser as expected and autoresponders are giving the correct data as expected, but none of the traffic is showing in the Fiddler UI.
Any idea?
I am working on fiddler core with C#. But FiddlerApplication.Shutdown(); I don't think your command works. FiddlerApplication.Shutdown(); After the application, the internet access of the current computer is turned off. When the fiddler core application is closed, as in the picture I shared, internet access is cut off when the fiddlerapplication.shutdown command is applied.
How can I solve this problem?
For example, we cannot access any websites or internet when the internet is disconnect ;
Note: This problem happens when I close and open the program 3 or 5 times.