Secure sockets

You can create secure socket applications on the IBM® i operating system by using the Global Security Kit (GSKit) APIs. The GSKit APIs provide communications privacy over an open communications network, which in most cases is the Internet.

These APIs allow client/server applications to communicate in a way that prevents eavesdropping, tampering, and message forgery. The Global Secure Toolkit (GSKit) APIs support server and client authentication and allow an application to use the Transport Layer Security (TLS) protocol. GSKit APIs are supported for all IBM systems. To enhance portability across systems, it is suggested that you use GSKit APIs when developing applications for secure socket connections.

Overview of secure sockets

Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are generic terms for a set of industry standards that are used for enabling applications for secure communication sessions over an unprotected network, such as the Internet. SSL evolved into and was replaced by TLS. TLS is the more accurate term; therefore, TLS is used here. A few of the many applications that require secure communications are Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), and Telnet.

A TLS-enabled application typically needs to use a port different from an application that is not TLS-enabled. For example, a TLS-enabled browser accesses a TLS-enabled HTTP Server with a Universal Resource Locator (URL) that begins https rather than http. In most cases, a URL of https attempts to open a connection to port 443 of the server system instead of to port 80 that the standard HTTP Server uses.

There are multiple versions of the TLS protocol defined. For more information on the protocol versions supported by the GSKit APIs, see gsk_attribute_set_enum().