# StreamLink and TLS

This page provides links to third party resources on web browser, Java, and .NET Framework TLS stacks.

## Client TLS stacks

TLS stacks available to StreamLink applications

### StreamLink JS

StreamLink JS applications are run within web browsers and use the TLS stack that the browser uses:

* Microsoft Internet Explorer: operating system TLS stack. See [Cipher Suites in SSL/TLS (SChannel SsP)](https://learn.microsoft.com/en-us/windows/win32/secauthn/cipher-suites-in-schannel)
* Microsoft Edge (legacy): operating system TLS stack. See [Cipher Suites in SSL/TLS (SChannel SsP)](https://learn.microsoft.com/en-us/windows/win32/secauthn/cipher-suites-in-schannel)
* Microsoft Edge: browser TLS stack
* Mozilla Firefox: browser TLS stack
* Google Chrome: browser TLS stack

TLS protocol support:

* Can I use...[TLS 1.3](https://caniuse.com/tls1-3) ?
* Can I use...[TLS 1.2](https://caniuse.com/tls1-2) ?

To list the TLS protocols and ciphers supported by your web browser, see Qualys SSL Labs' [SSL/TLS Capabilities of Your Browser](https://clienttest.ssllabs.com:8443/ssltest/viewMyClient.html).

### StreamLink Java

StreamLink Java applications use Java’s TLS stack.

OpenJDK 8:

* TLS 1.2: enabled by default
* TLS 1.3: available from [build 8u261 (July 14 2020)](https://www.oracle.com/java/technologies/javase/8u261-relnotes.html), but disabled by default

OpenJDK 11:

* TLS 1.2: enabled by default
* TLS 1.3: enabled by default

For more information on TLS in Java 8, see [Java Secure Socket Extension (JSSE) Reference Guide](https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html).

For more information on TLS in Java 11, see [Java Secure Socket Extension (JSSE) Reference Guide](https://docs.oracle.com/en/java/javase/11/security/java-secure-socket-extension-jsse-reference-guide.html) in Oracle’s Java 11 Security Developers Guide.

### StreamLink .NET

StreamLink .NET applications use the operating system’s TLS stack.

For detailed information on .NET framework and TLS, see [Transport Layer Security (TLS) best practices with the .NET Framework](https://learn.microsoft.com/en-us/dotnet/framework/network-programming/tls).

For detailed information on TLS ciphers supported by the Windows TLS stack, see [Cipher Suites in SSL/TLS (SChannel SsP)](https://learn.microsoft.com/en-us/windows/win32/secauthn/cipher-suites-in-schannel)

## Liberator TLS stack

Liberator has a built-in OpenSSL TLS stack, independent of the operating system’s OpenSSL library (if present). Caplin regularly update Liberator’s OpenSSL library. To remain current with fixes and improvements to the OpenSSL library, please ensure you run the latest version of Liberator.

TLS protocols supported by Liberator:

* TLS 1.2: supported from Liberator 6.2.2
* TLS 1.3: supported from Liberator 7

For detailed information on TLS support in Caplin’s Liberator server, see the resources below:

* [Configuring Liberator’s HTTPS interface](../liberator/liberator-configure-how-liberator-handles-https-connections.md)
* [Configuring Liberator’s direct interface](../liberator/liberator-configure-how-liberator-handles-direct-client-connections.md)

From version 7.1.23, Liberator can log the cipher list that a StreamLink client presents in its TLS handshake with Liberator. For more information, see the documentation for the configuration items below:

* [https-log-hello-ciphers](../liberator/liberator-https-configuration.md#https-log-hello-ciphers)
* [directssl-log-hello-ciphers](../liberator/liberator-direct-connections-configuration.md#directssl-log-hello-ciphers)
