10/15/18 17:46 PM  

Network - TLS Upgrade Notice | RingCentral

« Go Back

Article

 
Summary
Details

What will change?

On March 21, 2016 (approximated 11:00 pm PST) RingCentral will discontinue support for TLS 1.0 and TLS 1.1 on the https://service.ringcentral.com/ domain. Older browsers and API clients without TLS 1.2 support will no longer work. 

How do I know if I'm affected?

Visit the following resources to check your browser or API client for TLS 1.2 support: 

How to test yourself

Visit the following sites to test your browser, API client, or code for TLS 1.2 support:

Using How's My SSL, you will recieve a JSON response and the "tls_version" property should say "TLS 1.2". A successful connection will result in a "ConnectionOK" (with a 200 response code) which indicates your system will work.If you receive an SSL, TLS, Connection, or Negotiation error, then you will need to upgrade your browser or language or library to continue using our services.

API library support

If you are running code that connects with the RingCentral API, it is vital to check support so that it will continue to work after the date specified above. Each language and library is different, but we have provided information on some popular ones.

The following languages need significant changes/upgrades to continue working:
 
- Java 6u45 / 7u45
- .NET before 4.5 (no TLS 1.2 support)
- .NET 4.5 (must be explicitly set to enable TLS 1.2)
- Python 3x before 3.4
- Python 2.x before 2.7.9
- OpenSSL 0.9.8

Client-side JavaScript apps will rely on the browser version.

Most dynamic languages such as PHP, Python, & Ruby rely on the underlying operating system's OpenSSL version. This can be checked by checking the openssl version. The minimum version required is 1.0.1.

We are ready to assist you in making this change successfully in any way we can, however, since we are not experts in every langauge and framework, we are not able to test or fix your code for you.

Language specific instructions

.NET

- .NET 4.6 - TLS 1.2 is used automatically. No changes are necessary.
- .NET 4.5 - The SecurityProtocolType needs to be changed to Tls12 (using the SecurityProtocol Setter)
- .NET 4.0 - TLS 1.2 is supported, but there's no named SecurityProtocolType enumeration. Use (SecurityProtocolType)3072.
- .NET 3 and below - Must be upgraded to 4.5

JavaScript

For client-side, JavaScript based apps, ensure that the browsers used have TLS 1.2 support. A comprehensive list of client library support is available here: https://www.ssllabs.com/ssltest/clients.html 

To test your browser, you can also direct your browser here: https://www.ssllabs.com/ssltest/viewMyClient.html which will identify if your browser supports TLS 1.2 or not.

PHP

You can check if PHP will work with the following script:
 
<?php
$ch = curl_init('https://www.howsmyssl.com/a/check');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);

$json = json_decode($data);
echo $json->tls_version;

$curl_info = curl_version();
echo $curl_info['ssl_version'];
?>

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

Python

- Python 3.4+ for 3.x with OpenSSL 1.0.1+
- Python 2.7.9+ for 2.x with OpenSSL 1.0.1+

 
You can test if the connection works with:
import urllib2
json = urllib2.urlopen("https://www.howsmyssl.com/a/check").read()

# Expected: 'ConnectionOK\n'

RUBY

You can check if Ruby will work with the following script:
require 'faraday'
require 'json'

conn = Faraday.new(url: 'https://www.howsmyssl.com')
res = conn.get 'https://www.howsmyssl.com/a/check'
data = JSON.parse(res.body)
puts data['tls_version']

puts OpenSSL::OPENSSL_VERSION

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

Further Reading & Resources

Ranking
Was this information helpful?
Yes
No
Somewhat

Tell us why and what can we do to improve this information