in reply to Is it possible to check the client's SSL/TSL version?

From within a script/application started by the web server all you can see is the protocol version and cipher both sides agree too. To get anything more, i.e. the protocol version offered by the client, the ciphers offered etc you need to have control over the TLS stack of the server which you don't have from inside the script/application.

And even if you are inside the TLS stack you have don't get the kind of version of the TLS stack the client uses. There is nothing similar to a HTTP User-Agent header in TLS and all you could do is to try to fingerprint the client based on used TLS extensions, offered ciphers, handshake version etc and infer from this which TLS stack and version this might be.

But, if you want to know how clients will behave if you make changes to the server (like hardening ciphers and protocol version) the exact TLS implementation is not of much use. What you need are capabilities capabilities of the client which not only depend on the implementation but also on the configuration. I would instead recommend the following to find out if you will have problems with hardening:

  • Comment on Re: Is it possible to check the client's SSL/TSL version?