Re: Unable to run TCPProxy with user defined Java keystore

Philip Aston <[email protected]>
Newsgroups gmane.comp.java.grinder.user
Message-ID <[email protected]>
Good work Alfin!

I'll add your notes to the docs.

- Phil



On 14/05/14 16:24, alfinhaji . wrote:
> Hi all,
>
> We found a resolution to this issue with the application we are
> testing.  We have been troubleshooting this for almost a week and did
> quite a few steps but I will try to summarize as much as I can to
> share with the community, in case someone else hits this issue.
>
> The site we were testing had an embedded iframe that was making a call
> out to an HTTPS endpoint using an AJAX call via javascript.  This
> endpoint was further making a call out to another HTTPS endpoint.  The
> self-signed cert that Grinder was issuing was causing the following
> error to be thrown in developer tools of Chrome: 
> net::ERR_INSECURE_RESPONSE.  As a result, all the content in that
> iframe was blank and not being rendered (IE was throwing a content
> blocked error).  IE developer tools was also throwing an error in
> developer tools that indicated the content was in mixed
> security format (HTTP and HTTPS) - SEC7111 "HTTPS security is
> compromised by [name of resource]".
>
> Now since all traffic needs to go through a local proxy (TCPProxy),
> and since some of that traffic was secured, TCPProxy had to do a MITM
> in order to decrypt the secure traffic. However, since TCPProxy had an
> untrusted cert with hostnames not matching those endpoints that our
> app was calling out to, the browser generated an error. 
>
> Resolution: We created a self-signed cert using keytool.exe and we
> added the sites/endpoints we was testing in the Subject Alternative
> Name section of the certificate. We then added the new certificate to
> the browser’s trust store:
>
> 1.  Create certificate using keytool.exe and add the sites/endpoints
> you are testing that are blocking content from being shown in
> browser.  Example below:
>  
> keytool -genkeypair -keystore keystore -dname "CN=test, OU=Unknown,
> O=Unknown, L=Unknown, ST=Unknown, C=Unknown" -storepass password
> -keyalg RSA -alias self-signed-cert –ext SAN=dns:<domain1>,dns:<domain2>
>
>  
>
> You can add as many SANs as you want. Delimit them with “:” and if you
> are adding a DNS name, start with dns:
>
> 2.  Launch tcpproxy with the keystore generated above:
> java -classpath %CLASSPATH% net.grinder.TCPProxy -keyStore <path to
> above keystore> -keyStorePassword password -console -http > script.py
>
> 3.  Point your browser to the proxy, you will get a certificate
> error.  IE for some reason didn't allow us to export the certificate,
> so we used Chrome.  Export in base64 format. 
>
> 4.  Then in IE, imported the certificate to the trust store:
> Internet Options > Content > Certificates > Trusted Root Certification
> Authorities > Import
> Browse to the exported certificate from step 3 above and import.
>
> 5.  Restart the browser and navigate to the app.  Your certificate
> should now be valid and content that was blocked should now be visible
> since the domains that were blocking the content are valid for the
> certificate provided (from step 1).
>
> Hope this helps someone else in the community.
>
> Alfin.
>
>
>
>
>
>
>
> On Tue, May 13, 2014 at 3:13 PM, Ouray Viney <[email protected]
> <mailto:[email protected]>> wrote:
>
>     Hi Phil,
>
>     A very important piece of this problem is also that we tried
>     downgrading Firefox to a version that would allow us to override
>     this however when doing so and testing we noticed that when the
>     browser was trying to get the certificate grinder was throwing
>     exceptions about "unable to determine proxies destination"
>
>     When time permits I'll get you the stack trace sounds like we may
>     have about there?
>
>     Ouray
>
>     On May 13, 2014, at 2:22 PM, Philip Aston <[email protected]
>     <mailto:[email protected]>> wrote:
>
>>     OK - that's expected. See
>>     http://grinder.sourceforge.net/g3/tcpproxy.html#ssl
>>
>>     Most users simply tell the browser to ignore the error, but it
>>     doesn't look like FF is presenting the option. I don't understand
>>     why the warning dialog is missing its "I understand the risks /
>>     Add exception" option. In the past, I'm sure I've also seen this
>>     missing. Anyone know why FF and Chrome have the "Add exception"
>>     option for some sites, but not others?
>>
>>     - Phil
>>
>>     On 13/05/14 15:29, alfinhaji . wrote:
>>>     Thanks for the response Phil.  Maybe I should take it a step
>>>     back.  When we turn on TCPProxy *_without_* using a keystore
>>>     (using the default Grinder certificates) this is the error we
>>>     get back from the browser (see screenshot attached).
>>>
>>>     The error thrown in the CLI where TCPProxy is running is as follows:
>>>
>>>
>>>     10:16:58.049 [Filter thread for
>>>     127.0.0.1:55367->maps.qa.mycompany.ca:443
>>>     <http://maps.qa.mycompany.ca:443>] ERROR: Received fatal alert:
>>>     bad_certificate
>>>     javax.net.ssl.SSLHandshakeException: Received fatal alert:
>>>     bad_certificate
>>>             at sun.security.ssl.Alerts.getSSLException(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.Alerts.getSSLException(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.SSLSocketImpl.readRecord(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.AppInputStream.read(Unknown Source)
>>>     ~[na:1.7.0_45]
>>>             at
>>>     net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThread.interruptibleRun(AbstractTCPProxyEngine.java:431)
>>>     ~[grinder-http-3.11.jar:na]
>>>             at
>>>     net.grinder.util.thread.InterruptibleRunnableAdapter.run(InterruptibleRunnableAdapter.java:58)
>>>     [grinder-core-3.11.jar:na]
>>>             at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
>>>     10:19:49.527 [Filter thread for
>>>     127.0.0.1:55433->aus3.mozilla.org:443
>>>     <http://aus3.mozilla.org:443>] ERROR: Received fatal alert:
>>>     bad_certificate
>>>     javax.net.ssl.SSLHandshakeException: Received fatal alert:
>>>     bad_certificate
>>>             at sun.security.ssl.Alerts.getSSLException(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.Alerts.getSSLException(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.SSLSocketImpl.readRecord(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.AppInputStream.read(Unknown Source)
>>>     ~[na:1.7.0_45]
>>>             at
>>>     net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThread.interruptibleRun(AbstractTCPProxyEngine.java:431)
>>>     ~[grinder-http-3.11.jar:na]
>>>             at
>>>     net.grinder.util.thread.InterruptibleRunnableAdapter.run(InterruptibleRunnableAdapter.java:58)
>>>     [grinder-core-3.11.jar:na]
>>>             at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
>>>     10:21:49.446 [Filter thread for
>>>     127.0.0.1:55474->easylist-downloads.adblockplus.org:443
>>>     <http://easylist-downloads.adblockplus.org:443>] ERROR: Received
>>>     fatal alert: bad_certificate
>>>     javax.net.ssl.SSLHandshakeException: Received fatal alert:
>>>     bad_certificate
>>>             at sun.security.ssl.Alerts.getSSLException(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.Alerts.getSSLException(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.SSLSocketImpl.readRecord(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown
>>>     Source) ~[na:1.7.0_45]
>>>             at sun.security.ssl.AppInputStream.read(Unknown Source)
>>>     ~[na:1.7.0_45]
>>>
>>>
>>>     On Tue, May 13, 2014 at 2:35 AM, Philip Aston <[email protected]
>>>     <mailto:[email protected]>> wrote:
>>>
>>>         You seem to have a pretty clear trace there:
>>>
>>>             "javax.net.ssl.SSLHandshakeException: no cipher suites
>>>         in common "
>>>
>>>         Your JDK and maps.qa.companyName.com
>>>         <http://maps.qa.companyName.com> do not have a common cipher
>>>         suite.
>>>
>>>         The Grinder enables all cipher suites available to the JDK.
>>>         You may be
>>>         able to reconfigure maps.qa.companyName.com
>>>         <http://maps.qa.companyName.com> to support other cipher suites.
>>>
>>>         - Phil
>>>
>>>         On 09/05/14 19:40, alfinhaji wrote:
>>>         > We have hit an issue while attempting to take a recording
>>>         with TCPProxy for a
>>>         > new application we are testing.  Using the default certs
>>>         (built-in) with
>>>         > TCPProxy, we are presenting with the warning dialog from
>>>         the browser.
>>>         > However, after adding the security exception we get a
>>>         blank page returned
>>>         > with the browser URL line in red with Certificate error
>>>         highlighted.  When
>>>         > we turn off the proxy, we can hit this page fine and it
>>>         renders with no
>>>         > issue.
>>>         >
>>>         > So we went down the path of exporting the certificate for
>>>         the page from both
>>>         > IE and Firefox, using the keytool.exe utility to generate
>>>         a keystore, and
>>>         > then specifying this keystore before launching the
>>>         TCPProxy.  Below are the
>>>         > steps we follow:
>>>         >
>>>         > 1.  Exported the certificate as type X.509 Certificate
>>>         (PEM) (*.crt) in
>>>         > Firefox
>>>         > 2.  Run the keytool.exe (JRE 1.7.0.45):
>>>         > "C:\Program Files\Java\jre7\bin\keytool.exe" -import
>>>         -keystore mapsKeystore
>>>         > -file appCert.crt -alias mapClient
>>>         >
>>>         > NOTE:  We also tried these steps with JRE 1.6.0.45, same
>>>         results.
>>>         >
>>>         > 3.  When launching TCPProxy, we specify the above keystore:
>>>         > java -classpath %CLASSPATH% net.grinder.TCPProxy -keyStore
>>>         mapsKeystore
>>>         > -keyStorePassword ****** -console
>>>         >
>>>         > NOTE:  We also looked at this article but didn't feel it
>>>         was applicable
>>>         > since we are a client, not a server, with a valid
>>>         certificate from the
>>>         > website exported from Firefox:
>>>         >
>>>         http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html
>>>         >
>>>         >
>>>         > Following error is output to the console when launching
>>>         TCPProxy and
>>>         > attempting to launch the page in a browser pointing to the
>>>         Proxy port:
>>>         >
>>>         > 14:52:41.987 [main] INFO : Initialising as an HTTP/HTTPS
>>>         proxy with the
>>>         > parameters:
>>>         >    Request filters:    EchoFilter
>>>         >    Response filters:   EchoFilter
>>>         >    Local address:      localhost:8001
>>>         >    Key store:        
>>>          C:\Development\Scripts\certs\mapsKeystore
>>>         >    Key store password: ******
>>>         > 14:52:42.540 [main] INFO : Engine initialised, listening
>>>         on port 8001
>>>         > 14:53:02.721 [Filter thread for
>>>         > 127.0.0.1:60610->maps.qa.companyName.com:443
>>>         <http://maps.qa.companyName.com:443>] ERROR: no cipher suites in
>>>         > common
>>>         > javax.net.ssl.SSLHandshakeException: no cipher suites in
>>>         common
>>>         >         at sun.security.ssl.Alerts.getSSLException(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.SSLSocketImpl.fatal(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.chooseCipherSuite(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.clientHello(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.processMessage(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.processLoop(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.Handshaker.process_record(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.AppInputStream.read(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         >
>>>         net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThread.interruptibleRun(AbstractTCPProxyEngine.java:431)
>>>         > ~[grinder-http-3.11.jar:na]
>>>         >         at
>>>         >
>>>         net.grinder.util.thread.InterruptibleRunnableAdapter.run(InterruptibleRunnableAdapter.java:58)
>>>         > [grinder-core-3.11.jar:na]
>>>         >         at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
>>>         > 14:53:02.750 [Filter thread for
>>>         > 127.0.0.1:60613->maps.qa.companyName.com:443
>>>         <http://maps.qa.companyName.com:443>] ERROR: no cipher suites in
>>>         > common
>>>         > javax.net.ssl.SSLHandshakeException: no cipher suites in
>>>         common
>>>         >         at sun.security.ssl.Alerts.getSSLException(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.SSLSocketImpl.fatal(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.chooseCipherSuite(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.clientHello(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.processMessage(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.processLoop(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.Handshaker.process_record(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.AppInputStream.read(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         >
>>>         net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThread.interruptibleRun(AbstractTCPProxyEngine.java:431)
>>>         > ~[grinder-http-3.11.jar:na]
>>>         >         at
>>>         >
>>>         net.grinder.util.thread.InterruptibleRunnableAdapter.run(InterruptibleRunnableAdapter.java:58)
>>>         > [grinder-core-3.11.jar:na]
>>>         >         at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
>>>         > 14:53:02.801 [Filter thread for
>>>         > 127.0.0.1:60616->maps.qa.companyName.com:443
>>>         <http://maps.qa.companyName.com:443>] ERROR: no cipher suites in
>>>         > common
>>>         > javax.net.ssl.SSLHandshakeException: no cipher suites in
>>>         common
>>>         >         at sun.security.ssl.Alerts.getSSLException(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.SSLSocketImpl.fatal(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.chooseCipherSuite(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.clientHello(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.processMessage(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.processLoop(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.Handshaker.process_record(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.AppInputStream.read(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         >
>>>         net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThread.interruptibleRun(AbstractTCPProxyEngine.java:431)
>>>         > ~[grinder-http-3.11.jar:na]
>>>         >         at
>>>         >
>>>         net.grinder.util.thread.InterruptibleRunnableAdapter.run(InterruptibleRunnableAdapter.java:58)
>>>         > [grinder-core-3.11.jar:na]
>>>         >         at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
>>>         > 14:53:02.842 [Filter thread for
>>>         > 127.0.0.1:60619->maps.qa.companyName.com:443
>>>         <http://maps.qa.companyName.com:443>] ERROR: Remote host closed
>>>         > connection during handshake
>>>         > javax.net.ssl.SSLHandshakeException: Remote host closed
>>>         connection during
>>>         > handshake
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.AppInputStream.read(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         >
>>>         net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThread.interruptibleRun(AbstractTCPProxyEngine.java:431)
>>>         > ~[grinder-http-3.11.jar:na]
>>>         >         at
>>>         >
>>>         net.grinder.util.thread.InterruptibleRunnableAdapter.run(InterruptibleRunnableAdapter.java:58)
>>>         > [grinder-core-3.11.jar:na]
>>>         >         at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
>>>         > Caused by: java.io.EOFException: SSL peer shut down
>>>         incorrectly
>>>         >         at sun.security.ssl.InputRecord.read(Unknown
>>>         Source) ~[na:1.7.0_45]
>>>         >         ... 7 common frames omitted
>>>         > 14:53:02.947 [Filter thread for
>>>         > 127.0.0.1:60622->maps.qa.companyName.com:443
>>>         <http://maps.qa.companyName.com:443>] ERROR: no cipher suites in
>>>         > common
>>>         > javax.net.ssl.SSLHandshakeException: no cipher suites in
>>>         common
>>>         >         at sun.security.ssl.Alerts.getSSLException(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.SSLSocketImpl.fatal(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.chooseCipherSuite(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.clientHello(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.processMessage(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.processLoop(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.Handshaker.process_record(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.AppInputStream.read(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         >
>>>         net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThread.interruptibleRun(AbstractTCPProxyEngine.java:431)
>>>         > ~[grinder-http-3.11.jar:na]
>>>         >         at
>>>         >
>>>         net.grinder.util.thread.InterruptibleRunnableAdapter.run(InterruptibleRunnableAdapter.java:58)
>>>         > [grinder-core-3.11.jar:na]
>>>         >         at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
>>>         > 14:53:02.977 [Filter thread for
>>>         > 127.0.0.1:60625->maps.qa.companyName.com:443
>>>         <http://maps.qa.companyName.com:443>] ERROR: no cipher suites in
>>>         > common
>>>         > javax.net.ssl.SSLHandshakeException: no cipher suites in
>>>         common
>>>         >         at sun.security.ssl.Alerts.getSSLException(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.SSLSocketImpl.fatal(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.chooseCipherSuite(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.clientHello(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.processMessage(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.processLoop(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.Handshaker.process_record(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.AppInputStream.read(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         >
>>>         net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThread.interruptibleRun(AbstractTCPProxyEngine.java:431)
>>>         > ~[grinder-http-3.11.jar:na]
>>>         >         at
>>>         >
>>>         net.grinder.util.thread.InterruptibleRunnableAdapter.run(InterruptibleRunnableAdapter.java:58)
>>>         > [grinder-core-3.11.jar:na]
>>>         >         at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
>>>         > 14:53:03.003 [Filter thread for
>>>         > 127.0.0.1:60628->maps.qa.companyName.com:443
>>>         <http://maps.qa.companyName.com:443>] ERROR: no cipher suites in
>>>         > common
>>>         > javax.net.ssl.SSLHandshakeException: no cipher suites in
>>>         common
>>>         >         at sun.security.ssl.Alerts.getSSLException(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.SSLSocketImpl.fatal(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.chooseCipherSuite(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.clientHello(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.ServerHandshaker.processMessage(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.Handshaker.processLoop(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.Handshaker.process_record(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.AppInputStream.read(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         >
>>>         net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThread.interruptibleRun(AbstractTCPProxyEngine.java:431)
>>>         > ~[grinder-http-3.11.jar:na]
>>>         >         at
>>>         >
>>>         net.grinder.util.thread.InterruptibleRunnableAdapter.run(InterruptibleRunnableAdapter.java:58)
>>>         > [grinder-core-3.11.jar:na]
>>>         >         at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
>>>         > 14:53:03.021 [Filter thread for
>>>         > 127.0.0.1:60631->maps.qa.companyName.com:443
>>>         <http://maps.qa.companyName.com:443>] ERROR: Remote host closed
>>>         > connection during handshake
>>>         > javax.net.ssl.SSLHandshakeException: Remote host closed
>>>         connection during
>>>         > handshake
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown
>>>         > Source) ~[na:1.7.0_45]
>>>         >         at
>>>         sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at sun.security.ssl.AppInputStream.read(Unknown
>>>         Source)
>>>         > ~[na:1.7.0_45]
>>>         >         at
>>>         >
>>>         net.grinder.tools.tcpproxy.AbstractTCPProxyEngine$FilteredStreamThread.interruptibleRun(AbstractTCPProxyEngine.java:431)
>>>         > ~[grinder-http-3.11.jar:na]
>>>         >         at
>>>         >
>>>         net.grinder.util.thread.InterruptibleRunnableAdapter.run(InterruptibleRunnableAdapter.java:58)
>>>         > [grinder-core-3.11.jar:na]
>>>         >         at java.lang.Thread.run(Unknown Source) [na:1.7.0_45]
>>>         > Caused by: java.io.EOFException: SSL peer shut down
>>>         incorrectly
>>>         >         at sun.security.ssl.InputRecord.read(Unknown
>>>         Source) ~[na:1.7.0_45]
>>>         >         ... 7 common frames omitted
>>>         >
>>>         >
>>>         >
>>>         >
>>>

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs

_______________________________________________
grinder-use mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/grinder-use
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.