Hey, it seems like my Fiddler can't capture HTTPS as I try to install the Root Certificate I get an error in the Logs.
Doesn someone know how to fix it? I already deleted the RSA key multiple times.
-= Fiddler Event Log =-
See http://fiddler2.com/r/?FiddlerLog for details.
22:58:45:4179 Fiddler Running...
22:58:45:4229 Windows 8+ AppContainer isolation feature detected.
22:58:53:4077 Assembly 'C:\Users\MyName\AppData\Local\Programs\Fiddler\CertMaker.dll' was not found. Using default Certificate Generator.
22:58:53:4167 /Fiddler.CertMaker> Using .+ for certificate generation; UseWildcards=True.
22:59:02:5124 /Fiddler.CertMaker> Failed to identify private key location for Root Certificate. Exception: System.Security.Cryptography.CryptographicException Der Schlüsselsatz ist nicht vorhanden.
22:59:03:1799 DefaultCertMaker: GetRootCertificate() did not find the root in the Windows TrustStore.
22:59:03:1809 /Fiddler.CertMaker> Caller was in ApartmentState: STA; hopping to Threadpool
22:59:03:1809 /Fiddler.CertMaker> Invoking CertEnroll for Subject: CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com; Thread's ApartmentState: MTA
22:59:03:4941 !Failed to CreatePFX: System.Reflection.TargetInvocationException Ein Aufrufziel hat einen Ausnahmefehler verursacht. < CertEnroll::CX509Enrollment::CreatePFX: Der Schlüsselsatz ist nicht vorhanden. 0x80090016 (-2146893802 NTE_BAD_KEYSET)
22:59:03:4941 /Fiddler.CertMaker> Finished CertEnroll for 'CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com'. Returning null
22:59:20:2703 fiddler.network.availability.change> Network Available: True


Double clicked the icon and nothing happens. (Be handy if you popped up a message about why the program is not running.) I found the .exe and ran it from a command line. This is the output.
09:42:25.911 > [Product information] Fiddler Everywhere 1.5.1
09:42:25.925 > [System information] win32 (Windows_NT/x64) - version 10.0.19041
09:42:25.967 > Initializing splash screen.
09:42:25.981 > Attempting to run server - 5 attempts left.
09:42:25.993 > Calculating the URL of ASP.NET Server application.
09:42:26.005 > Generating random port.
09:42:26.017 > Trying to start server at port [47329].
09:42:29.032 > Application did not receive required message for 3000ms.
09:42:29.045 > Fetching .NET Core server status.
09:42:31.071 > Error occurred while fetching .NET Core server [47329] status. Error message: connect ECONNREFUSED 127.0.0.1:47329
09:42:31.084 > Attempting to run server - 4 attempts left.
09:42:31.096 > Calculating the URL of ASP.NET Server application.
09:42:31.108 > Generating random port.
09:42:31.120 > Trying to start server at port [28688].
09:42:31.134 > Unable to start server process, closed with code: null
09:42:31.147 > Fetching .NET Core server status.
09:42:33.162 > Error occurred while fetching .NET Core server [28688] status. Error message: connect ECONNREFUSED 127.0.0.1:28688
09:42:37.132 > Application did not receive required message for 6000ms.
09:42:37.145 > Fetching .NET Core server status.
09:42:39.160 > Error occurred while fetching .NET Core server [28688] status. Error message: connect ECONNREFUSED 127.0.0.1:28688
09:42:39.181 > Attempting to run server - 3 attempts left.
09:42:39.193 > Calculating the URL of ASP.NET Server application.
09:42:39.204 > Generating random port.
09:42:39.215 > Trying to start server at port [3687].
09:42:39.230 > Unable to start server process, closed with code: null
09:42:39.243 > Fetching .NET Core server status.
09:42:41.258 > Error occurred while fetching .NET Core server [3687] status. Error message: connect ECONNREFUSED 127.0.0.1:3687

I tried everything I could find as hint:
Starting the java program with:
-DproxySet=true
-Dhttp.proxyHost=127.0.0.1
-Dhttp.proxyPort=8888
-Dhttps.proxyHost=127.0.0.1
-Dhttps.proxyPort=8888
-Djavax.net.ssl.trustStore=C:[path]\FiddlerRoot.cer;-Djavax.net.ssl.trustStorePassword=[pw]
FiddlerRoot.cer is imported in keystore.
capture https from all processes is active, other options see attachment.
I am starting the java program in intellij.
What am I missing?
Eddie

Hello.
I have one rooted Bluestacks instance and I need to proxy data from it with Fiddler.
The issue in SSL traffic.
My test env is:
FiddlerRootCertificate.crt was successfully installed on main host. Also it was installed with HD-SslCertificateTool.exe to Bluestacks:
Installing certificate at FiddlerRootCertificate.crt into BlueStacks.
Certificate subject hash is e5c3944b.
Using certificate name e5c3944b.0
SSL certificate was successfully added.
I see e5c3944b.0 file in /system/etc/security/cacerts/ in emulator (Bluestacks).
But when I enable option in Fiddler "Decrypt HTTPS traffic", everything, that use HTTPS (Play Market, Apps, Google Chrome) stopped to work.
Meanwhile, when I open Google Chrome at main host, SSL sites opened fine and I see in site cert info DO_NOT_TRUST... So, env configured correctly.
I can't understand, why it doesn't work on Bluestacks?
I expected, that Google Chrome on Bluestacks will open sites with "DO_NOT_TRUST..." cert, or will show info about incorrect cert, when I am trying to open https://rbc.ru/
But it can't connect:
This site can’t be reached play.google.com unexpectedly closed the connection.
Try:
Checking the connection
ERR_CONNECTION_CLOSED
and in Fiddler I see 3 records with same result:
fiddler.network.https> HTTPS handshake to 80.68.253.3 (for #14208) failed. System.Security.Authentication.AuthenticationException The remote certificate is invalid according to the validation procedure.
Any ideas, how to make it work on Bluestacks?

I'm trying to set up Fiddler as a transparent MITM proxy for HTTPS traffic. It works fine for HTTP traffic, but am having trouble figuring out configuration for HTTPS.
I have Fiddler running on a Windows host, listening on port 8888.
On my linux host, I have added the following rule:\
iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to 192.168.5.212:8888
This works great for regular HTTP traffic. I see any request on the linux host get transparently redirected to fiddler.
However, for HTTPS traffic, this does not work as Fiddler's 8888 port is not HTTPS and consequently the following fails to connect/handshake:
iptables -t nat -A OUTPUT -p tcp --dport 443 -j DNAT --to 192.168.5.212:8888I dug around and found that I can enable an additional listener using QuickExec by doing the following in the QuickExec window
iptables -t nat -A OUTPUT -p tcp --dport 443 -j DNAT --to 192.168.5.212:8888 curl https://www.google.com
I have installed the FidderRoot CA certificate and this gets me one step closer, but my curl/wget from my host fails in that it receives a certificate to CN=localhost and not the actual host I'm trying to reach.
How can I setup Fiddler for it to auto-sign the certificates from port 8889 with proper MITM certificates?
Thanks,
Eric


