Guide Resource for TLS 1.1/1.2 Update
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


You must be using 4.0 or above.

if using the sdk please get the latest version from nuget.

In 4.0 or 4.5 if not using the sdk, you need to manualy set the protocol.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11;


You need to ensure OpenSSL version of at least 1.0.1 is installed.

if using the sdk update to the latest version.

You can check if PHP will work with the following script:


echo "\n";
echo "PHP VERSION: " . phpversion() . "\n";

$params = array(
    'ssl' => array(

$context = stream_context_create($params);
$fp = fopen('', 'rb', false, $context);
if (!$fp)   {
//          print_r($http_response_header);
    throw new Exception("Problem creating stream from $url, \n\t".implode("\n\t", error_get_last()));

$response = stream_get_contents($fp);
if ($response === false)    throw new Exception("Problem reading data from $url, $php_errormsg");

$json = json_decode($response);

echo "You are using TLS version: " . $json->tls_version . "\n";
echo "\n";

You should see TLS 1.2 and OpenSSL version of at least 1.0.1


Node uses OpenSSL. TLSv1.2 requires OpenSSL 1.0.1c or higher.

Can check to see if supported: $ node -e "var https = require('https'); https.get('', function(res){ console.log(res.statusCode) });"

You should see a 200 which indicates yes.


Ruby 2.0.0 or above is required to use the TLSv1.2 capability of the system supplied OpenSSL. OpenSSL 1.0.1c is the first version that supplies TLSv1.2. That is, both Ruby > 2.0.0 and OpenSSL > 1.0.1c are required. Run bundle update to update your dependencies.


Python uses the system supplied OpenSSL. TLSv1.2 requires OpenSSL 1.0.1c or higher.