Archived
This forum has been archived. Please start a new discussion on GitHub.
Ice::ProtocolException with Glacier2 and SSL
Hi,
I have a system where many PCs connect to a server. This server is running a Glacier2 router and the communication is secured using SSL. All the client PCs are identical, same hardware running the same software.
In some of the PCs I have the following problem: when they try to get the Glacier2 router, a ProtocolException is thrown:
The exception is thrown when the checkedCast() is executed. As I said before, the exception is a ProtocolException, and when the "reason" is printed, I get the following message:
The client configuration file is the following:
The configuratioin file of the glacier2router program running in the server is the following:
If I disable the SSL communication in the client PC and it connect to the server using TCP, the communication works properly.
Do you have any idea where my problem could be? Why this is working in some PC and fails in others?
Thank you in advance
I have a system where many PCs connect to a server. This server is running a Glacier2 router and the communication is secured using SSL. All the client PCs are identical, same hardware running the same software.
In some of the PCs I have the following problem: when they try to get the Glacier2 router, a ProtocolException is thrown:
Ice::CommunicatorPtr ic; [...] Ice::RouterPrx defaultRouter = ic->getDefaultRouter(); try{ Glacier2::RouterPrx router = Glacier2::RouterPrx::checkedCast(defaultRouter); [...] }catch(const Ice::LocalException &le){ // Exception handler } [...]
The exception is thrown when the checkedCast() is executed. As I said before, the exception is a ProtocolException, and when the "reason" is printed, I get the following message:
Reason: SSL error ocurred for new outgoing connection: remote address = XXX.XXX.XXX.XXX:XXXX
The client configuration file is the following:
Ice.Default.Router=Glacier2/router:ssl -h myaddress.com -p 4063 Ice.ACM.Client=0 Ice.RetryIntervals=-1 Ice.Default.EncodingVersion=1.0 Announce.Server=Announce -t:ssl -h myaddress.com -p 8008 Ice.ThreadPool.Server.Size=10 Ice.ThreadPool.Client.Size=10 Ice.Plugin.IceSSL=IceSSL:createIceSSL IceSSL.DefaultDir=certs IceSSL.CertAuthFile=ca_cert.pem IceSSL.CertFile=cert.pem IceSSL.KeyFile=key.pem
The configuratioin file of the glacier2router program running in the server is the following:
Glacier2.Client.Endpoints=ssl -p 4063:tcp -p 4064 Glacier2.Server.Endpoints=ssl:tcp Glacier2.SessionTimeout=60 Glacier2.PermissionsVerifier=Glacier2/NullPermissionsVerifier Ice.Default.CollocationOptimized=0 Ice.Plugin.IceSSL=IceSSL:createIceSSL IceSSL.DefaultDir=certs IceSSL.CertAuthFile=ca_cert.pem IceSSL.CertFile=glacier2_cert.pem IceSSL.KeyFile=glacier2_key.pem
If I disable the SSL communication in the client PC and it connect to the server using TCP, the communication works properly.
Do you have any idea where my problem could be? Why this is working in some PC and fails in others?
Thank you in advance
0
Comments
-
Ok, I think I found the problem: the date of the client PC. If the date is not properly set, then the SSL certificates are not valid.0