diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-15 03:12:33 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-15 03:12:33 +0000 |
commit | b70a4a2b03c22f4018ee2009d4f88969617104b1 (patch) | |
tree | d61f2f205ba50f8de7d4d2f3aab945fd1dab58ae /net/socket/ssl_socket.h | |
parent | 75b985094ca3603b5d566227a3dc2d0b62fcf51c (diff) | |
download | chromium_src-b70a4a2b03c22f4018ee2009d4f88969617104b1.zip chromium_src-b70a4a2b03c22f4018ee2009d4f88969617104b1.tar.gz chromium_src-b70a4a2b03c22f4018ee2009d4f88969617104b1.tar.bz2 |
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
Diffstat (limited to 'net/socket/ssl_socket.h')
-rw-r--r-- | net/socket/ssl_socket.h | 34 |
1 files changed, 34 insertions, 0 deletions
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_ |