SSL Installed --> Servoy fails

Hi,

I installed a SSL certificate on my servoy server and since then Servoy fails for most of my customers.
In the past I installed SSL on 4.1 AS without any problem
Now on 5.1 I installed a new certificate following the same procedure and most of my customers can’t make connection to Servoy using Smart Client. Web Client goes well.

I see the following error in the log:

2010-07-28 10:35 SocketAccepter[1] ERROR com.servoy.j2db.util.Debug SocketAcceptor failure for socket: 5d9559db[SSL_NULL_WITH_NULL_NULL: Socket[addr=/213.233.216.248,port=5675,localport=1099]]
I/O exception, see log for full details: Received fatal alert: certificate_unknown

My settings on the network pages are:

[attachment=1]network settings.JPG[/attachment]

With SocketFactory.tunnelConnectionMode=http only the same situation occurs

After downloading the solution and before showing the loginpage, the message “Failed to connect to dataservice” (or something like that) appears.
I also tried to set in JAVA the network settings to “Direct Connection”, but that doesn’t change anything.

I haven’t seen anyone else having the same error “certificate_unknown”

The server settings are:

[attachment=0]server settings.JPG[/attachment]

I really don’t know where to look. Please help.

Martin

This error also occurs when smart client is connecting on port 80, so no certificate needed :(

First, Tunnel connection mode only does something if you have filled in the rmiServerFactory.
In the 2 way socket mode you have enabled it is not used.

Do you have in the java console on the client some more information? (some stracktrace?)

If i have to guess now then it seems that the certificate is not correct or an unknown one the java.

Johan,

I changed the settings to:

[attachment=0]network settings.JPG[/attachment]

And in the JAVA console I now see the following error:

Reading certificates from 6866 http://www.globisonline.eu:80/lib/commons-logging.jar | C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache\6.0\40\10c4b68-21adc266-1275328144717-.idx
Reading certificates from 6672 http://www.globisonline.eu:80/lib/slf4j-api.jar | C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache\6.0\0\9f7ac40-3dc89336-1275328144717-.idx
Reading certificates from 8220 http://www.globisonline.eu:80/lib/commons-codec.jar | C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache\6.0\32\7ea23f20-3e969a9d-1275328144717-.idx
Reading certificates from 5736 http://www.globisonline.eu:80/lib/client/slf4j-jdk14.jar | C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache\6.0\63\595c157f-4c5a57d2-1275328144717-.idx
Reading certificates from 5851 http://www.globisonline.eu:80/plugins/drmaison-lib/support.jar | C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache\6.0\28\6c5fdf1c-75694429-1272445396172-.idx
Reading certificates from 25274 http://www.globisonline.eu:80/plugins/it2be-core/core-common.jar | C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache\6.0\44\5104fe6c-5b24bb02-1277134737440-.idx
Reading certificates from 9065 http://www.globisonline.eu:80/plugins/it2be-core/core-level4.jar | C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache\6.0\42\765b47aa-7aebc346-1277134737442-.idx
Reading certificates from 34239 http://www.globisonline.eu:80/lib/log4j.jar | C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache\6.0\51\762f80f3-548cb084-1270212982735-.idx
Reading certificates from 197489 http://www.globisonline.eu:80/lib/wicket.jar | C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache\6.0\3\43bf3703-54eb616c-1275319694001-.idx
Reading certificates from 67879 http://www.globisonline.eu:80/lib/wicket-extentions.jar | C:\Documents and Settings\Administrator\Application Data\Sun\Java\Deployment\cache\6.0\10\6a74a78a-7a0a033f-1275319692403-.idx
Installing tunnel in socket mode to http://www.globisonline.eu:1099
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
	at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source)
	at com.sebster.tunnel.impl.t.a(t.java:3)
	at com.sebster.tunnel.impl.s.connect(s.java:9)
	at com.sebster.tunnel.DelegatingTunnelClient.connect(DelegatingTunnelClient.java:1)
	at com.sebster.tunnel.impl.ac.<init>(ac.java:5)
	at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider$1.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:1)
	at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:1)
	at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:15)
	at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(Unknown Source)
	at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(Unknown Source)
	at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.createFactoryProvider(Unknown Source)
	at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.<init>(Unknown Source)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.servoy.j2db.J2DBClient.Zf(J2DBClient.java:1036)
	at com.servoy.j2db.J2DBClient.startupApplication(J2DBClient.java:948)
	at com.servoy.j2db.Zyd.run(Zyd.java:3)
	at com.servoy.j2db.J2DBClient.mainImpl(J2DBClient.java:1156)
	at com.servoy.j2db.J2DBClient.main(J2DBClient.java:440)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
	at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source)
	at com.sebster.tunnel.impl.t.a(t.java:3)
	at com.sebster.tunnel.impl.s.connect(s.java:9)
	at com.sebster.tunnel.DelegatingTunnelClient.connect(DelegatingTunnelClient.java:1)
	at com.sebster.tunnel.impl.ac.<init>(ac.java:5)
	at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider$1.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:1)
	at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:1)
	at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:15)
	at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(Unknown Source)
	at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(Unknown Source)
	at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.createFactoryProvider(Unknown Source)
	at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.getRemoteClientSocketFactory(Unknown Source)
	at com.servoy.j2db.J2DBClient.getServerService(J2DBClient.java:618)
	at com.servoy.j2db.J2DBClient.Zf(J2DBClient.java:1320)
	at com.servoy.j2db.ClientState.dataServerInit(ClientState.java:127)
	at com.servoy.j2db.J2DBClient.dataServerInit(J2DBClient.java:20)
	at com.servoy.j2db.J2DBClient.startupApplication(J2DBClient.java:736)
	at com.servoy.j2db.Zyd.run(Zyd.java:3)
	at com.servoy.j2db.J2DBClient.mainImpl(J2DBClient.java:1156)
	at com.servoy.j2db.J2DBClient.main(J2DBClient.java:440)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
ERROR - Debug                      - Error getting the service servoy.IApplicationServerAccess from host http://www.globisonline.eu:1099
java.lang.NullPointerException
	at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.getRemoteClientSocketFactory(Unknown Source)
	at com.servoy.j2db.J2DBClient.getServerService(J2DBClient.java:618)
	at com.servoy.j2db.J2DBClient.Zf(J2DBClient.java:1320)
	at com.servoy.j2db.ClientState.dataServerInit(ClientState.java:127)
	at com.servoy.j2db.J2DBClient.dataServerInit(J2DBClient.java:20)
	at com.servoy.j2db.J2DBClient.startupApplication(J2DBClient.java:736)
	at com.servoy.j2db.Zyd.run(Zyd.java:3)
	at com.servoy.j2db.J2DBClient.mainImpl(J2DBClient.java:1156)
	at com.servoy.j2db.J2DBClient.main(J2DBClient.java:440)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
ERROR - Debug                      - Kan geen verbinding maken met dataservice op server
java.lang.NullPointerException
	at com.servoy.j2db.J2DBClient.Zf(J2DBClient.java:664)
	at com.servoy.j2db.ClientState.dataServerInit(ClientState.java:127)
	at com.servoy.j2db.J2DBClient.dataServerInit(J2DBClient.java:20)
	at com.servoy.j2db.J2DBClient.startupApplication(J2DBClient.java:736)
	at com.servoy.j2db.Zyd.run(Zyd.java:3)
	at com.servoy.j2db.J2DBClient.mainImpl(J2DBClient.java:1156)
	at com.servoy.j2db.J2DBClient.main(J2DBClient.java:440)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

My server.xml looks like this:

     <Connector port="8080" 
    		   protocol="HTTP/1.1" 
               maxThreads="500" connectionTimeout="60000" 
               redirectPort="8443" useBodyEncodingForURI="true" />
   
    <Connector port="80" 
    		   protocol="HTTP/1.1" 
               maxThreads="500" connectionTimeout="60000" 
               redirectPort="8443" useBodyEncodingForURI="true" />

    <Connector port="443" 
    		   protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="500" connectionTimeout="60000" 
		scheme="https" secure="true"
		clientAuth="false" sslProtocol="TLS"
		keystoreFile="D:\Servoy_51\application_server\server\conf\keystore.ks"
		keystorePass="********" keyalias="GlobisOnline" />

this really looks like a certificate that is not known by Java.
So where is it signed by? Does it has the right trusted root?

Here:
http://www.listware.net/201006/hc-httpc … cated.html

for example they say the same thing.

This problem has occurred because server was running on JAVA 6u20 while the clients were running on JAVA 6u17

There has been a change in one of the recent JAVA updates (update 19):
http://www.oracle.com/technetwork/java/javase/6u19-141078.html

"Added seven new root certificates, removed three root certificates and five root certificates replaced with stronger signature algorithms from VeriSign, Thawte and GeoTrust. (Refer to 6904162.) "
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6904162

After updating client to 6u20, the problem has been solved.