Telerik Forums
Fiddler Forum
0 answers
581 views

I am trying to use fiddler as a proxy for my java application that uses HTTPS connection. I had enabled proxy settings(HTTPS&Connections) on Fiddler and exported the Fiddler ROOT certificate successfully to my java keystore(cacerts). However when I run my application it is throwing following error:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<br>at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)<br>at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1908)<br>at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:293)<br>at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:287)<br>at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1333)<br>at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154)<br>at sun.security.ssl.Handshaker.processLoop(Handshaker.java:906)<br>at sun.security.ssl.Handshaker.process_record(Handshaker.java:841)<br>at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1035)<br>at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1334)<br>at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1362)<br>at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1346)<br>at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)<br>at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)<br>at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1454)<br>at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1382)<br>at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)<br>at com.teknowmics.jcloudplugin.FiddlerConnectorTest.main(FiddlerConnectorTest.java:36)<br>Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<br>at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)<br>at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)<br>at sun.security.validator.Validator.validate(Validator.java:260)<br>at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)<br>at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)<br>at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)<br>at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1315)<br>... 13 more<br>Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<br>at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:144)<br>at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:130)<br>at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)<br>at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)<br>... 19 more

Sample code I used:

public static void main(String args[]) throws MalformedURLException, IOException {<br>        System.setProperty("https.proxySet","true");<br>        System.setProperty("https.proxyHost", "127.0.0.1");<br>        System.setProperty("https.proxyPort", "8888");<br>        System.setProperty("javax.net.ssl.trustStore", "d:\\SmartDocs\\installed\\jdk1.8.0Lambda\\jre\\lib\\security\\cacerts");<br>        System.setProperty("javax.net.ssl.trustStorePassword", "changeit");<br>        System.out.println("Trust store:"+System.getProperty("javax.net.ssl.trustStore"));<br>        System.out.println("Trust store pwd:"+System.getProperty("javax.net.ssl.trustStorePassword"));<br>        String https_url = "https://stackoverflow.com/questions/499591/are-https-urls-encrypted";<br>        URL url;<br>        url = new URL(https_url);<br>        HttpsURLConnection con = (HttpsURLConnection) url.openConnection();<br>        if(con!=null){<br>   System.out.println("****** Content of the URL ********");<br>   BufferedReader br =new BufferedReader(new InputStreamReader(con.getInputStream()));<br>   String input;<br>   while ((input = br.readLine()) != null){<br>      System.out.println(input);<br>   }<br>   br.close();<br>       }<br>    }<br>

 

Pratheesh
Top achievements
Rank 1
 asked on 29 Jun 2017
0 answers
263 views

Hi all,

 

I'm trying to an auto responder for any url and contains two words in the body. I am using the following, but it never works :-(

URLWithBody:regex:.* regex:assignRequest.*127

Here i am expecting any body request containing assignRequest and 127 (order doesn't matter) to auto respond but it doesn't work I've also tried other combinations without success

it works if i just use one word, but not two.

Regards

Chris

Chris
Top achievements
Rank 1
 asked on 28 Jun 2017
0 answers
394 views

I know it uses Jscript.NET but is there some special context it runs within (and is documented somewhere) that would prevent me from instantiating a Form to input a string, select from a radio button group, etc? Or is a different file supposed to be edited?

When I try to add the following to CustomRules.js in the ScriptEditor, it says "ERROR LINE --> MyForm myform = new MyForm() - The list of attributes does not apply to the current context" when I save the script.

 

Here is the Form class I am trying to use to make a dialog:

import System.Windows.Forms;
import System.ComponentModel;
import System.Drawing;
 
class MyForm extends System.Windows.Forms.Form {  
    // declare variables
    private var label1: Label;
    private var textBox1: TextBox;
    private var button1: Button;
    private var panel1: Panel;
 
    // constructor
    function MyForm() {                        
        //SuspendLayout(); // suspend layout events
        // label, size, and center form
        Text= "Resize Me!";
        ClientSize= new System.Drawing.Size(300,300);
        StartPosition= System.Windows.Forms.FormStartPosition.CenterScreen;
 
        // create a label
        label1= new Label;      
        label1.Location= new Point(10,10);
        label1.Size= new System.Drawing.Size(80,20);
        label1.Name= "label1";
        label1.Text= "Label";
        label1.Anchor= AnchorStyles.Left;
                 
        // create a TextBox
        textBox1 = new TextBox;
        textBox1.Location= new Point(10,30);
        textBox1.Size = new System.Drawing.Size(80,20);
        textBox1.Name= "textBox1";
        textBox1.Text = "Hello World";
        textBox1.Anchor= AnchorStyles.Left;                           
 
        // create a Button
        button1= new Button;
        button1.Location= new Point(200,240);
        button1.Size= new System.Drawing.Size(80,20);
        button1.Name= "button1";
        button1.Text= "Button";
        button1.Anchor= AnchorStyles.Right | AnchorStyles.Bottom;
                                               
        // create a Panel
        panel1= new Panel;
        panel1.Location= new Point(0,0);
        panel1.Size= new System.Drawing.Size(300,300);
        panel1.Name= "panel1";
        // resize panel on resize form
        panel1.Anchor= AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
             
        // add controls to the panel
        panel1.Controls.Add(label1); 
        panel1.Controls.Add(textBox1);
        panel1.Controls.Add(button1);
 
        // add panel to form
        this.Controls.Add(panel1);
 
        //ResumeLayout(); // resume layout events
    } // end_constructor
} // end_class
 
 
class Handlers {
 
    ...
 
    static function BeforeTestList(arrSess: Session[]): boolean
    {
        MyForm myform = new MyForm();
        myform.ShowDialog();
         
        return true; // Test should proceed; return false to cancel
    }
}
Ed
Top achievements
Rank 1
 asked on 27 Jun 2017
0 answers
448 views

 

Using the Python requests library, I can do something like this:

<p>session = requests.Session()</p><p>session.post("https://testurl", ..., verify=false)</p>

 

and Fiddler will detect the web request just fine. However, if I use a prepared request like so:

<p>session = requests.Session()</p><p>request = requests.Request("POST", "https://testurl", ...)</p><p>session.prepare_request(request)</p><p>session.send(prepared, verify=false)</p><p></p>

 

the sent web request does not show up in the session list in Fiddler. I've confirmed that the request is getting sent and receiving a response through the Python script, but for some reason it's not showing up in Fiddler. Any ideas? I don't have any filters or rules enabled.

Drew
Top achievements
Rank 1
 asked on 27 Jun 2017
0 answers
123 views

I know Fiddler (which is awesome by the way) can server a certificate upon request from the server; however, I'm trying to debug what type of filters the 3rd party server (we don't have access to it) is trying to request.

In the connect request/response I don't ever see an actual CertificateRequest although I some information about the connect, and that Fiddler handled some items in that TLS handshake, just not about a certificate request from the server for the client...

Is this something just not possible with Fiddler and I need to wireshark this?

Cheers!

WTHNoSpam
Top achievements
Rank 1
 asked on 27 Jun 2017
10 answers
357 views

I'm wondering when FiddlerHook will be released as a signed add-on for Firefox.

Mozilla has announced that in the near future, unsigned add-ons will no longer be alllowed to run.

 

 

 

JF
Top achievements
Rank 1
 answered on 21 Jun 2017
0 answers
261 views
Auto responder can match the request, but not responses with the selected content, just passthrough.
李
Top achievements
Rank 1
 asked on 21 Jun 2017
1 answer
303 views

I have been unable to set fiddler as the system proxy ever since updating to the Windows 10 "creators update"(Version 1703, build 15063.332). All fields on the LAN settings window are blank, and it won't let me update them. I enter "127.0.0.1" and "8888" and after the advanced settings window closes, clicking "ok" does NOTHING!!! Reinstalling fiddler ALSO does NOTHING!!!!

After one cumulative update of Windows, the problem got worse: 

" 22:17:47:1692 ! WARNING: Port 8888 is already in use (for at least some IP addresses) by 'mobileservice:13340' "

At startup, a dialog asks to reassign fiddler to a different random port. If I decline, the attached error dialog shows up.

Any suggestions?

Chris
Top achievements
Rank 1
 answered on 20 Jun 2017
7 answers
1.2K+ views
When I am trying to capture traffic of my website that deployed over HTTPS protocol along with proxy configuration in my local network, system throw following error. I have tried all possible setting in Tools -> Fiddler Option -> HTTPS and Connection but nothing work:

[Fiddler] The connection to the upstream proxy/gateway failed. Closing Fiddler, changing your system proxy settings, and restarting Fiddler may help. 
System.Exception Upstream Gateway refused requested CONNECT.


Please help me in fixing this problem, as I need to record some performance matrix for my website.
Tsviatko Yovtchev
Telerik team
 answered on 20 Jun 2017
1 answer
163 views

New to fiddler. I am trying to do a REST API curl request but getting a red 502 response.

Here is the curl request:

 

curl -X GET https://sandbox.forte.net/api/v3/organizations/org_333251/locations/loc_191620/customers/
-H "Content-Type: application/json"
-H "X-Forte-Auth-Organization-Id: org_333251" 
-H "Authorization: Basic Mjk3NjMwMGJiNjlmMDhiMmRmZTU3NzU0ZDkyMWI4Y2Q6NmU4N2QwZjUwMmE4ZGE5M"
-H "Accept: application/json"
-H "Cache-Control: no-cache"

 

It is a sandbox account so no problem if you want to play around with it.

All the credentials are good, and it works in Postman, but for the life of me I can't get it to work in Fiddler :(

 

What am I missing?

James
Top achievements
Rank 1
 answered on 20 Jun 2017
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?