Secure Sockets Interface

This section describes the Secure sockets interface.

Description of the interface

Secure Sockets allow the user to transport data over a public network. It provides both parties the ability to authenticate and to encrypt the data being sent.

Secure sockets implement the MSecureSocket interface and its methods to:

  • create and close a secure connection

  • specify and query the certificates used in a connection

  • send and receive data

This interface supports implementations that act in both the client modes, that is, connecting to a remote secure server, and acting as a server for remote clients.

Secure socket implementations are used to secure an open and a connected socket. An application creates an instance of the CSecureSocket with reference to a connected RSocket and a protocol name to use. The CSecureSocket finds, loads, and creates a secure socket of the implementation. The CSecureSocket owns an instance of the CSecureSocket implementation object and acts as a proxy, sending any method calls to the actual implementation object.

Protocol implementations are not directly exposed to applications. From the applications, the CSecureSocket class hides the MSecureSocket class and the plug-in nature of the implementations. Secure sockets are created through the static CSecureSocket::NewL() method.

A secure socket plug-in is provided for TLS1.0 or SSL3.0.

Protocol implementations

Protocol implementations use the methods of the CSecureSocket to:

  • set a secure socket

  • set or get the current server certificate

  • set or get a protocol or version, if the implementations supports more than one

  • set or get the supported cipher suites. Note: Cipher suites are methods of encrypting the text.

Related concepts