Transport Layer Security

Transport Layer Security (TLS) Protocol and its predecessor, Secure Sockets Layer (SSL), are cryptographic protocols that provide security and data integrity for communications over TCP/IP networks such as the Internet. Several versions of the protocols are common in applications such as web browsing, electronic mail, Internet faxing, instant messaging and voice-over-IP (VoIP).
Description.
The TLS protocol allows applications to communicate across a network in a way designed to prevent eavesdropping, tampering, and message forgery. TLS provides endpoint authentication and communications confidentiality over the Internet using cryptography. Most of the time, only the server is authenticated ("i.e.", its identity is ensured) while the client remains unauthenticated; this means that the end user (whether an individual or an application, such as a Web browser) can be sure with whom it is communicating. The next level of security is known as mutual authentication. Mutual authentication requires public key infrastructure (PKI) deployment to clients unless TLS-PSK or the Secure Remote Password (SRP) protocol are used, which provide strong mutual authentication without needing to deploy a PKI.
Usage.
SSL and TLS have been widely used in several open source software projects. Programmers may use the OpenSSL, NSS, or GnuTLS libraries for SSL/TLS functionality. Microsoft Windows includes a usage of SSL and TLS as part of its Secure Channel package. Delphi programmers may use a library called Indy.
Standards.
The current approved version is 1.2, which is specified in:
The current standard obsoletes these former versions:
Other RFCs subsequently extended TLS, including: