18 January 2026:
Sahi Pro is an enterprise grade test automation platform which can automate web, mobile, API, windows and java based applications and SAP.
This forum is now archived and is in read-only mode. Please continue discussions on our improved new Sahi Pro Community forum.
Sahi Pro is an enterprise grade test automation platform which can automate web, mobile, API, windows and java based applications and SAP.
OS X SSL Manager- Green URLs in manager but getting errors when navigating to site
We are trying to decide if we are going to continue to use Sahi now that we have switched to OS X.
I have added the connections to the sites by navigating to the URLs in Firefox and adding security exceptions. The URLs are now listed with the green dots in the SSL Manager. However, when I navigate to the url, I get the error below:
Sahi Error - Received fatal alert: handshake_failure
Sahi could not connect to the desired URL
Either the remote server is down or not reachable
If the web site is not accessible even when the browser proxy configuration is removed, it means the server is down.
or
You need an external proxy to be configured.
If you normally require to use another proxy to connect to external websites, you need to configure Sahi to use that proxy.
You can configure the external proxy by editing
<sahi_root>/userdata/config/userdata.properties and setting these properties:
ext.http.proxy.enable=true
ext.http.proxy.host=external_proxy_server_hostname_or_ip
ext.http.proxy.port=external_proxy_server_port
If your proxy needs authorization, you should set these properties too.
ext.http.proxy.auth.enable=true
ext.http.proxy.auth.name=proxy_authorization_username
ext.http.proxy.auth.password=proxy_authorization_password
You should do the same with ext.https settings for https sites.
To bypass external proxy for some web addresses, like local addresses, set
ext.http.both.proxy.bypass_hosts=localhost|127.0.0.1|*.internaldomain.com
Stack:
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1513)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
at net.sf.sahi.RemoteRequestProcessor.processHttp(RemoteRequestProcessor.java:129)
at net.sf.sahi.RemoteRequestProcessor.processHttp(RemoteRequestProcessor.java:83)
at net.sf.sahi.ProxyProcessor.processAsProxy(ProxyProcessor.java:149)
at net.sf.sahi.ProxyProcessor.run(ProxyProcessor.java:93)
at net.sf.sahi.ProxyProcessor.processConnect(ProxyProcessor.java:183)
at net.sf.sahi.ProxyProcessor.processAsProxy(ProxyProcessor.java:142)
at net.sf.sahi.ProxyProcessor.run(ProxyProcessor.java:93)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
I have added the connections to the sites by navigating to the URLs in Firefox and adding security exceptions. The URLs are now listed with the green dots in the SSL Manager. However, when I navigate to the url, I get the error below:
Sahi Error - Received fatal alert: handshake_failure
Sahi could not connect to the desired URL
Either the remote server is down or not reachable
If the web site is not accessible even when the browser proxy configuration is removed, it means the server is down.
or
You need an external proxy to be configured.
If you normally require to use another proxy to connect to external websites, you need to configure Sahi to use that proxy.
You can configure the external proxy by editing
<sahi_root>/userdata/config/userdata.properties and setting these properties:
ext.http.proxy.enable=true
ext.http.proxy.host=external_proxy_server_hostname_or_ip
ext.http.proxy.port=external_proxy_server_port
If your proxy needs authorization, you should set these properties too.
ext.http.proxy.auth.enable=true
ext.http.proxy.auth.name=proxy_authorization_username
ext.http.proxy.auth.password=proxy_authorization_password
You should do the same with ext.https settings for https sites.
To bypass external proxy for some web addresses, like local addresses, set
ext.http.both.proxy.bypass_hosts=localhost|127.0.0.1|*.internaldomain.com
Stack:
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1513)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
at net.sf.sahi.RemoteRequestProcessor.processHttp(RemoteRequestProcessor.java:129)
at net.sf.sahi.RemoteRequestProcessor.processHttp(RemoteRequestProcessor.java:83)
at net.sf.sahi.ProxyProcessor.processAsProxy(ProxyProcessor.java:149)
at net.sf.sahi.ProxyProcessor.run(ProxyProcessor.java:93)
at net.sf.sahi.ProxyProcessor.processConnect(ProxyProcessor.java:183)
at net.sf.sahi.ProxyProcessor.processAsProxy(ProxyProcessor.java:142)
at net.sf.sahi.ProxyProcessor.run(ProxyProcessor.java:93)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Answers