Symbian3/PDK/Source/GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 16 Jul 2010 17:23:46 +0100
changeset 12 80ef3a206772
permissions -rw-r--r--
Week 28 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 1897, Bug 344, Bug 2681, Bug 463, Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-4F9B3746-1FB2-5F3D-BD2C-189250C2C59F-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1"><title>Secure Sockets Interface</title><shortdesc>This section describes the Secure sockets interface. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Description of the interface</title> <p>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. </p> <p>Secure sockets implement the <xref href="GUID-E0B30AF4-BD5C-38D3-B1B4-C19FD35B964D.dita"><apiname>MSecureSocket</apiname></xref> interface and its methods to: </p> <ul><li id="GUID-2CDBE4E3-8043-5351-A0F9-B6CC7183FFE7-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-1-4-1"><p>create and close a secure connection </p> </li> <li id="GUID-71FC7CFA-6052-5743-AEE9-2078D2E7713F-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-1-4-2"><p>specify and query the certificates used in a connection </p> </li> <li id="GUID-92A2E6A1-7A10-5EAC-B96E-F0FC0FF759C4-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-1-4-3"><p>send and receive data </p> </li> </ul> <p>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. </p> <p>Secure socket implementations are used to secure an open and a connected socket. An application creates an instance of the <codeph>CSecureSocket</codeph> with reference to a connected <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref> and a protocol name to use. The <codeph>CSecureSocket</codeph> finds, loads, and creates a secure socket of the implementation. The <codeph>CSecureSocket</codeph> owns an instance of the <codeph>CSecureSocket</codeph> implementation object and acts as a proxy, sending any method calls to the actual implementation object. </p> <p>Protocol implementations are not directly exposed to applications. From the applications, the <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita"><apiname>CSecureSocket</apiname></xref> class hides the <xref href="GUID-E0B30AF4-BD5C-38D3-B1B4-C19FD35B964D.dita"><apiname>MSecureSocket</apiname></xref> class and the plug-in nature of the implementations. Secure sockets are created through the static <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita#GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C/GUID-78262DF7-7741-369D-80F2-5229C8F3F801"><apiname>CSecureSocket::NewL()</apiname></xref> method. </p> <p>A secure socket plug-in is provided for TLS1.0 or SSL3.0. </p> </section> <section><title>Protocol implementations</title> <p>Protocol implementations use the methods of the <xref href="GUID-2DCC0FFB-1883-3A7B-B9F0-D680DD30D02C.dita"><apiname>CSecureSocket</apiname></xref> to: </p> <ul><li id="GUID-BCECAC51-7367-536D-9E91-CFD135517587-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-2-3-1"><p>set a secure socket </p> </li> <li id="GUID-746E3F28-46E9-5E4A-800C-44DDE5C611BE-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-2-3-2"><p>set or get the current server certificate </p> </li> <li id="GUID-E8146070-36EC-5B72-9C32-616CA59B4D98-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-2-3-3"><p>set or get a protocol or version, if the implementations supports more than one </p> </li> <li id="GUID-9984158C-AAB9-57D7-8972-1ECF8A8B4FA1-GENID-1-12-1-24-1-1-9-1-4-1-4-1-4-1-3-2-3-4"><p>set or get the supported cipher suites. <b>Note</b>: Cipher suites are methods of encrypting the text. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita"><linktext>Sockets Server</linktext> </link> </related-links></concept>