From b70a4a2b03c22f4018ee2009d4f88969617104b1 Mon Sep 17 00:00:00 2001 From: "sergeyu@chromium.org" Date: Tue, 15 Nov 2011 03:12:33 +0000 Subject: Add SSLSocket interface. The new interface defines functionality common between SSLClientSocket and SSLServerSocket. TEST=None BUG=None Review URL: http://codereview.chromium.org/8515026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110025 0039d316-1c4b-4281-b951-d872f2087c98 --- net/socket/ssl_socket.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 net/socket/ssl_socket.h (limited to 'net/socket/ssl_socket.h') diff --git a/net/socket/ssl_socket.h b/net/socket/ssl_socket.h new file mode 100644 index 0000000..8445d7d --- /dev/null +++ b/net/socket/ssl_socket.h @@ -0,0 +1,34 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef NET_SOCKET_SSL_SOCKET_H_ +#define NET_SOCKET_SSL_SOCKET_H_ + +#include "base/basictypes.h" +#include "net/socket/stream_socket.h" + +namespace base { +class StringPiece; +} // namespace base + +namespace net { + +// SSLSocket interface defines method that are common between client +// and server SSL sockets. +class NET_EXPORT SSLSocket : public StreamSocket { +public: + virtual ~SSLSocket() {} + + // Exports data derived from the SSL master-secret (see RFC 5705). + // The call will fail with an error if the socket is not connected, or the + // SSL implementation does not support the operation. + virtual int ExportKeyingMaterial(const base::StringPiece& label, + const base::StringPiece& context, + unsigned char *out, + unsigned int outlen) = 0; +}; + +} // namespace net + +#endif // NET_SOCKET_SSL_SOCKET_H_ -- cgit v1.1