Fiddler Classic v5.0.20211.51073 for .NET 4.6.1 and Android 9.
- install Fiddler.
- Install "CertMaker for iOS and Android".
- open Fiddler.
- Check "Decrypt HTTPS traffic" in Option.
- Install the certificate when the install dialog box appears.
- set "Protocols" to "<client>;ssl3;tls1.2".
- add the following code to the end of "static function OnBeforeRequest(oSession: Session)" in "Fiddler Script".
if (oSession.HTTPMethodIs("CONNECT"))
{
oSession["https-DropSNIAlerts"] = "yup";
FiddlerApplication.Log.LogString("Legacy compat applied for request");
}
- Restart Fiddler.
- set Android proxy settings to the Fiddler address.
- access Fiddler's website with an Android browser and download the certificate.
- Install the certificate.
- move the converted certificate in /data/mics/user/0/cacerts-added/ to /system/etc/security/cacerts/.
- set the owner and group of the moved file to root and set permissions to rw-r--r--.
- Remove the first installed certificate
- Restart Android.
When I access an HTTPS site with Chrome after following these steps, I get the message "NET::ERR_CERT_AUTHORITY_INVARID" and cannot access the site. Fiddler just comes up with CONNECT. At the stage of just installing in the user area in 11., I am able to access the HTTPS site from Chrome and it is decrypted in fiddler. However, when I move it to the system area, I am having trouble communicating with it. The list of trusted credentials for the system in the settings app reflects it correctly and I can view the information inside by tapping on it. Why is there an error?
PS: When I run Chromium Edge on a PC running Fiddler and look at the serial number of the root certificate for the certificate to the https site and compare it to the serial number in the CA certificate list installed on the Android system, it matches. The former does not cause an error, but the latter does.