Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am trying to connect to an external server using an SSL connection with a client certificate from my EC2 instance. So the external server has issued me a SSL certificate, I load this in my (java) web application and use it to create an outbound SSL connection from my EC2 instance to the external server.

This all works fine in development, but once running on EC2 (SUSE Linux Enterprise 11 SP1), I get the following error.

javax.net.ssl.SSLException: HelloRequest followed by an unexpected handshake message

I'm wondering whether theres any special configuration or something required on Suse Linux or EC2 in general to allow my java application to connect to an external service with a SSL client certificate?

I was thinking firewalls etc. I tried turning off the firewall using:

/etc/init.d/SuSEfirewall2_setup stop

but no luck. I'm sure this is a easy fix, but I have no idea what the problem is.

share|improve this question

1 Answer 1

up vote 0 down vote accepted

The EC2 infrastructure itself doesn't have an outbound firewall. Can you reproduce the problem on a separate system (not EC2 or Development)? Is there any chance the external server has an inbound firewall blocking everything but your development machine?

share|improve this answer
    
Thanks lunxbochs, as you surmised, the EC2 thing was a red-herring. It seems the java version is the key, and as an attempt to solve java.sun.com/javase/javaseforbusiness/docs/TLSReadme.html the SSL behaviour changed. Using the : -Dsun.security.ssl.allowUnsafeRenegotiation=true flag solved the error for me. I will have to read more about the impact of this change to see the potential impact of the vulnerability. –  Greg Day Jun 12 '11 at 5:24

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.