Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
crypto/tls: incompatibility with IE6 #3677
The SSL handshake does not work for Internet Explorer 6. IE6 uses SSL 3.0, which is supported by crypto/tls. The problem seems to be that IE6 sends an empty Session ID in it's client hello message. The unmarshal() function for clientHelloMsg in crypto/tls/handshake_messages.go fails. (I will continue investigating if I get a chance.) I attached a minimal example HTTPS server in Go, and a shell script to generate the key & self-signed certificate.
IE6, by default, will send SSLv2 compat handshakes which Go doesn't support. You can change this under "Tools", "Internet Options...", "Advanced", (scroll to the bottom), uncheck "Use SSL 2.0" and check "Use SSL 3.0" and "Use TLS 1.0". On a wider note: if you're running a secure, production server with Go then terminating the SSL connections with something else is probably a good idea. The Go TLS stack has been substantially written by me and hasn't received any of the security review that something like OpenSSL has. OpenSSL and the like will also use less CPU and include all the quirks needed to support browsers like IE6.
Status changed to WontFix.
This issue was closed.