webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
rtc::OpenSSLStreamAdapter Class Reference

#include <opensslstreamadapter.h>

Inheritance diagram for rtc::OpenSSLStreamAdapter:
rtc::SSLStreamAdapter rtc::SSLStreamAdapter rtc::StreamAdapterInterface rtc::StreamAdapterInterface rtc::StreamAdapterInterface rtc::StreamAdapterInterface sigslot::has_slots<> rtc::StreamInterface sigslot::has_slots<> rtc::StreamInterface sigslot::has_slots<> rtc::StreamInterface sigslot::has_slots<> rtc::StreamInterface sigslot::has_slots<> rtc::StreamInterface sigslot::has_slots<> rtc::StreamInterface sigslot::has_slots<> rtc::StreamInterface sigslot::has_slots<> rtc::StreamInterface

Public Member Functions

 OpenSSLStreamAdapter (StreamInterface *stream)
 
 ~OpenSSLStreamAdapter () override
 
void SetIdentity (SSLIdentity *identity) override
 
void SetServerRole (SSLRole role=SSL_SERVER) override
 
bool SetPeerCertificateDigest (const std::string &digest_alg, const unsigned char *digest_val, size_t digest_len, SSLPeerCertificateDigestError *error=nullptr) override
 
std::unique_ptr< SSLCertificateGetPeerCertificate () const override
 
int StartSSL () override
 
void SetMode (SSLMode mode) override
 
void SetMaxProtocolVersion (SSLProtocolVersion version) override
 
void SetInitialRetransmissionTimeout (int timeout_ms) override
 
StreamResult Read (void *data, size_t data_len, size_t *read, int *error) override
 
StreamResult Write (const void *data, size_t data_len, size_t *written, int *error) override
 
void Close () override
 
StreamState GetState () const override
 
bool GetSslCipherSuite (int *cipher) override
 
int GetSslVersion () const override
 
bool ExportKeyingMaterial (const std::string &label, const uint8_t *context, size_t context_len, bool use_context, uint8_t *result, size_t result_len) override
 
bool SetDtlsSrtpCryptoSuites (const std::vector< int > &crypto_suites) override
 
bool GetDtlsSrtpCryptoSuite (int *crypto_suite) override
 
bool IsTlsConnected () override
 
 OpenSSLStreamAdapter (StreamInterface *stream)
 
 ~OpenSSLStreamAdapter () override
 
void SetIdentity (SSLIdentity *identity) override
 
void SetServerRole (SSLRole role=SSL_SERVER) override
 
bool SetPeerCertificateDigest (const std::string &digest_alg, const unsigned char *digest_val, size_t digest_len, SSLPeerCertificateDigestError *error=nullptr) override
 
std::unique_ptr< SSLCertificateGetPeerCertificate () const override
 
int StartSSL () override
 
void SetMode (SSLMode mode) override
 
void SetMaxProtocolVersion (SSLProtocolVersion version) override
 
void SetInitialRetransmissionTimeout (int timeout_ms) override
 
StreamResult Read (void *data, size_t data_len, size_t *read, int *error) override
 
StreamResult Write (const void *data, size_t data_len, size_t *written, int *error) override
 
void Close () override
 
StreamState GetState () const override
 
bool GetSslCipherSuite (int *cipher) override
 
int GetSslVersion () const override
 
bool ExportKeyingMaterial (const std::string &label, const uint8_t *context, size_t context_len, bool use_context, uint8_t *result, size_t result_len) override
 
bool SetDtlsSrtpCryptoSuites (const std::vector< int > &crypto_suites) override
 
bool GetDtlsSrtpCryptoSuite (int *crypto_suite) override
 
bool IsTlsConnected () override
 
- Public Member Functions inherited from rtc::SSLStreamAdapter
 SSLStreamAdapter (StreamInterface *stream)
 
 ~SSLStreamAdapter () override
 
void set_ignore_bad_cert (bool ignore)
 
bool ignore_bad_cert () const
 
void set_client_auth_enabled (bool enabled)
 
bool client_auth_enabled () const
 
 SSLStreamAdapter (StreamInterface *stream)
 
 ~SSLStreamAdapter () override
 
void set_ignore_bad_cert (bool ignore)
 
bool ignore_bad_cert () const
 
void set_client_auth_enabled (bool enabled)
 
bool client_auth_enabled () const
 
- Public Member Functions inherited from rtc::StreamAdapterInterface
 StreamAdapterInterface (StreamInterface *stream, bool owned=true)
 
bool SetPosition (size_t position) override
 
bool GetPosition (size_t *position) const override
 
bool GetSize (size_t *size) const override
 
bool GetAvailable (size_t *size) const override
 
bool GetWriteRemaining (size_t *size) const override
 
bool ReserveSize (size_t size) override
 
bool Flush () override
 
void Attach (StreamInterface *stream, bool owned=true)
 
StreamInterfaceDetach ()
 
 StreamAdapterInterface (StreamInterface *stream, bool owned=true)
 
StreamState GetState () const override
 
StreamResult Read (void *buffer, size_t buffer_len, size_t *read, int *error) override
 
StreamResult Write (const void *data, size_t data_len, size_t *written, int *error) override
 
void Close () override
 
bool SetPosition (size_t position) override
 
bool GetPosition (size_t *position) const override
 
bool GetSize (size_t *size) const override
 
bool GetAvailable (size_t *size) const override
 
bool GetWriteRemaining (size_t *size) const override
 
bool ReserveSize (size_t size) override
 
bool Flush () override
 
void Attach (StreamInterface *stream, bool owned=true)
 
StreamInterfaceDetach ()
 
- Public Member Functions inherited from rtc::StreamInterface
 ~StreamInterface () override
 
void PostEvent (Thread *t, int events, int err)
 
void PostEvent (int events, int err)
 
virtual const voidGetReadData (size_t *data_len)
 
virtual void ConsumeReadData (size_t)
 
virtual voidGetWriteBuffer (size_t *buf_len)
 
virtual void ConsumeWriteBuffer (size_t)
 
bool Rewind ()
 
StreamResult WriteAll (const void *data, size_t data_len, size_t *written, int *error)
 
StreamResult ReadAll (void *buffer, size_t buffer_len, size_t *read, int *error)
 
StreamResult ReadLine (std::string *line)
 
 ~StreamInterface () override
 
void PostEvent (Thread *t, int events, int err)
 
void PostEvent (int events, int err)
 
virtual const voidGetReadData (size_t *data_len)
 
virtual void ConsumeReadData (size_t)
 
virtual voidGetWriteBuffer (size_t *buf_len)
 
virtual void ConsumeWriteBuffer (size_t)
 
bool Rewind ()
 
StreamResult WriteAll (const void *data, size_t data_len, size_t *written, int *error)
 
StreamResult ReadAll (void *buffer, size_t buffer_len, size_t *read, int *error)
 
StreamResult ReadLine (std::string *line)
 
- Public Member Functions inherited from rtc::MessageHandler
virtual WEBRTC_DYLIB_EXPORT ~MessageHandler ()
 
virtual WEBRTC_DYLIB_EXPORT ~MessageHandler ()
 
- Public Member Functions inherited from sigslot::has_slots<>
 has_slots ()
 
 has_slots ()
 
 ~has_slots ()
 
 ~has_slots ()
 
- Public Member Functions inherited from sigslot::has_slots_interface
void signal_connect (_signal_base_interface *sender)
 
void signal_disconnect (_signal_base_interface *sender)
 
void disconnect_all ()
 
void signal_connect (_signal_base_interface *sender)
 
void signal_disconnect (_signal_base_interface *sender)
 
void disconnect_all ()
 

Static Public Member Functions

static std::string SslCipherSuiteToName (int crypto_suite)
 
static bool IsBoringSsl ()
 
static bool IsAcceptableCipher (int cipher, KeyType key_type)
 
static bool IsAcceptableCipher (const std::string &cipher, KeyType key_type)
 
static void enable_time_callback_for_testing ()
 
static std::string SslCipherSuiteToName (int crypto_suite)
 
static bool IsBoringSsl ()
 
static bool IsAcceptableCipher (int cipher, KeyType key_type)
 
static bool IsAcceptableCipher (const std::string &cipher, KeyType key_type)
 
static void enable_time_callback_for_testing ()
 
- Static Public Member Functions inherited from rtc::SSLStreamAdapter
static SSLStreamAdapterCreate (StreamInterface *stream)
 
static bool IsBoringSsl ()
 
static bool IsAcceptableCipher (int cipher, KeyType key_type)
 
static bool IsAcceptableCipher (const std::string &cipher, KeyType key_type)
 
static std::string SslCipherSuiteToName (int cipher_suite)
 
static void enable_time_callback_for_testing ()
 
static SSLStreamAdapterCreate (StreamInterface *stream)
 
static bool IsBoringSsl ()
 
static bool IsAcceptableCipher (int cipher, KeyType key_type)
 
static bool IsAcceptableCipher (const std::string &cipher, KeyType key_type)
 
static std::string SslCipherSuiteToName (int cipher_suite)
 
static void enable_time_callback_for_testing ()
 

Protected Member Functions

void OnEvent (StreamInterface *stream, int events, int err) override
 
void OnEvent (StreamInterface *stream, int events, int err) override
 
- Protected Member Functions inherited from rtc::StreamAdapterInterface
 ~StreamAdapterInterface () override
 
StreamInterfacestream ()
 
 ~StreamAdapterInterface () override
 
StreamInterfacestream ()
 
- Protected Member Functions inherited from rtc::StreamInterface
 StreamInterface ()
 
 StreamInterface ()
 
void OnMessage (Message *msg) override
 
- Protected Member Functions inherited from rtc::MessageHandler
 MessageHandler ()
 
 MessageHandler ()
 
- Protected Member Functions inherited from sigslot::has_slots_interface
 has_slots_interface (signal_connect_t conn, signal_disconnect_t disc, disconnect_all_t disc_all)
 
virtual ~has_slots_interface ()
 
 has_slots_interface (signal_connect_t conn, signal_disconnect_t disc, disconnect_all_t disc_all)
 
virtual ~has_slots_interface ()
 

Additional Inherited Members

- Public Types inherited from rtc::StreamInterface
enum  { MSG_POST_EVENT = 0xF1F1, MSG_MAX = MSG_POST_EVENT }
 
enum  { MSG_POST_EVENT = 0xF1F1, MSG_MAX = MSG_POST_EVENT }
 
- Public Attributes inherited from rtc::SSLStreamAdapter
sigslot::signal1< SSLHandshakeErrorSignalSSLHandshakeError
 
- Public Attributes inherited from rtc::StreamInterface
sigslot::signal3< StreamInterface *, int, int > SignalEvent
 

Constructor & Destructor Documentation

◆ OpenSSLStreamAdapter() [1/2]

rtc::OpenSSLStreamAdapter::OpenSSLStreamAdapter ( StreamInterface stream)
explicit

◆ ~OpenSSLStreamAdapter() [1/2]

rtc::OpenSSLStreamAdapter::~OpenSSLStreamAdapter ( )
override

◆ OpenSSLStreamAdapter() [2/2]

rtc::OpenSSLStreamAdapter::OpenSSLStreamAdapter ( StreamInterface stream)
explicit

◆ ~OpenSSLStreamAdapter() [2/2]

rtc::OpenSSLStreamAdapter::~OpenSSLStreamAdapter ( )
override

Member Function Documentation

◆ Close() [1/2]

void rtc::OpenSSLStreamAdapter::Close ( )
overridevirtual

Implements rtc::StreamInterface.

◆ Close() [2/2]

void rtc::OpenSSLStreamAdapter::Close ( )
overridevirtual

Reimplemented from rtc::StreamAdapterInterface.

◆ enable_time_callback_for_testing() [1/2]

void rtc::OpenSSLStreamAdapter::enable_time_callback_for_testing ( )
static

◆ enable_time_callback_for_testing() [2/2]

static void rtc::OpenSSLStreamAdapter::enable_time_callback_for_testing ( )
static

◆ ExportKeyingMaterial() [1/2]

bool rtc::OpenSSLStreamAdapter::ExportKeyingMaterial ( const std::string label,
const uint8_t context,
size_t  context_len,
bool  use_context,
uint8_t result,
size_t  result_len 
)
overridevirtual

Reimplemented from rtc::SSLStreamAdapter.

◆ ExportKeyingMaterial() [2/2]

bool rtc::OpenSSLStreamAdapter::ExportKeyingMaterial ( const std::string label,
const uint8_t context,
size_t  context_len,
bool  use_context,
uint8_t result,
size_t  result_len 
)
overridevirtual

Reimplemented from rtc::SSLStreamAdapter.

◆ GetDtlsSrtpCryptoSuite() [1/2]

bool rtc::OpenSSLStreamAdapter::GetDtlsSrtpCryptoSuite ( int *  crypto_suite)
overridevirtual

Reimplemented from rtc::SSLStreamAdapter.

◆ GetDtlsSrtpCryptoSuite() [2/2]

bool rtc::OpenSSLStreamAdapter::GetDtlsSrtpCryptoSuite ( int *  crypto_suite)
overridevirtual

Reimplemented from rtc::SSLStreamAdapter.

◆ GetPeerCertificate() [1/2]

std::unique_ptr< SSLCertificate > rtc::OpenSSLStreamAdapter::GetPeerCertificate ( ) const
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ GetPeerCertificate() [2/2]

std::unique_ptr<SSLCertificate> rtc::OpenSSLStreamAdapter::GetPeerCertificate ( ) const
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ GetSslCipherSuite() [1/2]

bool rtc::OpenSSLStreamAdapter::GetSslCipherSuite ( int *  cipher)
overridevirtual

Reimplemented from rtc::SSLStreamAdapter.

◆ GetSslCipherSuite() [2/2]

bool rtc::OpenSSLStreamAdapter::GetSslCipherSuite ( int *  cipher)
overridevirtual

Reimplemented from rtc::SSLStreamAdapter.

◆ GetSslVersion() [1/2]

int rtc::OpenSSLStreamAdapter::GetSslVersion ( ) const
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ GetSslVersion() [2/2]

int rtc::OpenSSLStreamAdapter::GetSslVersion ( ) const
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ GetState() [1/2]

StreamState rtc::OpenSSLStreamAdapter::GetState ( ) const
overridevirtual

Reimplemented from rtc::StreamAdapterInterface.

◆ GetState() [2/2]

StreamState rtc::OpenSSLStreamAdapter::GetState ( ) const
overridevirtual

Implements rtc::StreamInterface.

◆ IsAcceptableCipher() [1/4]

static bool rtc::OpenSSLStreamAdapter::IsAcceptableCipher ( int  cipher,
KeyType  key_type 
)
static

◆ IsAcceptableCipher() [2/4]

bool rtc::OpenSSLStreamAdapter::IsAcceptableCipher ( int  cipher,
KeyType  key_type 
)
static

◆ IsAcceptableCipher() [3/4]

bool rtc::OpenSSLStreamAdapter::IsAcceptableCipher ( const std::string cipher,
KeyType  key_type 
)
static

◆ IsAcceptableCipher() [4/4]

static bool rtc::OpenSSLStreamAdapter::IsAcceptableCipher ( const std::string cipher,
KeyType  key_type 
)
static

◆ IsBoringSsl() [1/2]

bool rtc::OpenSSLStreamAdapter::IsBoringSsl ( )
static

◆ IsBoringSsl() [2/2]

static bool rtc::OpenSSLStreamAdapter::IsBoringSsl ( )
static

◆ IsTlsConnected() [1/2]

bool rtc::OpenSSLStreamAdapter::IsTlsConnected ( )
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ IsTlsConnected() [2/2]

bool rtc::OpenSSLStreamAdapter::IsTlsConnected ( )
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ OnEvent() [1/2]

void rtc::OpenSSLStreamAdapter::OnEvent ( StreamInterface stream,
int  events,
int  err 
)
overrideprotectedvirtual

Reimplemented from rtc::StreamAdapterInterface.

◆ OnEvent() [2/2]

void rtc::OpenSSLStreamAdapter::OnEvent ( StreamInterface stream,
int  events,
int  err 
)
overrideprotectedvirtual

Reimplemented from rtc::StreamAdapterInterface.

◆ Read() [1/2]

StreamResult rtc::OpenSSLStreamAdapter::Read ( void data,
size_t  data_len,
size_t read,
int *  error 
)
overridevirtual

Reimplemented from rtc::StreamAdapterInterface.

◆ Read() [2/2]

StreamResult rtc::OpenSSLStreamAdapter::Read ( void data,
size_t  data_len,
size_t read,
int *  error 
)
overridevirtual

Implements rtc::StreamInterface.

◆ SetDtlsSrtpCryptoSuites() [1/2]

bool rtc::OpenSSLStreamAdapter::SetDtlsSrtpCryptoSuites ( const std::vector< int > &  crypto_suites)
overridevirtual

Reimplemented from rtc::SSLStreamAdapter.

◆ SetDtlsSrtpCryptoSuites() [2/2]

bool rtc::OpenSSLStreamAdapter::SetDtlsSrtpCryptoSuites ( const std::vector< int > &  crypto_suites)
overridevirtual

Reimplemented from rtc::SSLStreamAdapter.

◆ SetIdentity() [1/2]

void rtc::OpenSSLStreamAdapter::SetIdentity ( SSLIdentity identity)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetIdentity() [2/2]

void rtc::OpenSSLStreamAdapter::SetIdentity ( SSLIdentity identity)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetInitialRetransmissionTimeout() [1/2]

void rtc::OpenSSLStreamAdapter::SetInitialRetransmissionTimeout ( int  timeout_ms)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetInitialRetransmissionTimeout() [2/2]

void rtc::OpenSSLStreamAdapter::SetInitialRetransmissionTimeout ( int  timeout_ms)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetMaxProtocolVersion() [1/2]

void rtc::OpenSSLStreamAdapter::SetMaxProtocolVersion ( SSLProtocolVersion  version)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetMaxProtocolVersion() [2/2]

void rtc::OpenSSLStreamAdapter::SetMaxProtocolVersion ( SSLProtocolVersion  version)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetMode() [1/2]

void rtc::OpenSSLStreamAdapter::SetMode ( SSLMode  mode)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetMode() [2/2]

void rtc::OpenSSLStreamAdapter::SetMode ( SSLMode  mode)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetPeerCertificateDigest() [1/2]

bool rtc::OpenSSLStreamAdapter::SetPeerCertificateDigest ( const std::string digest_alg,
const unsigned char *  digest_val,
size_t  digest_len,
SSLPeerCertificateDigestError error = nullptr 
)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetPeerCertificateDigest() [2/2]

bool rtc::OpenSSLStreamAdapter::SetPeerCertificateDigest ( const std::string digest_alg,
const unsigned char *  digest_val,
size_t  digest_len,
SSLPeerCertificateDigestError error = nullptr 
)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetServerRole() [1/2]

void rtc::OpenSSLStreamAdapter::SetServerRole ( SSLRole  role = SSL_SERVER)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SetServerRole() [2/2]

void rtc::OpenSSLStreamAdapter::SetServerRole ( SSLRole  role = SSL_SERVER)
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ SslCipherSuiteToName() [1/2]

std::string rtc::OpenSSLStreamAdapter::SslCipherSuiteToName ( int  crypto_suite)
static

◆ SslCipherSuiteToName() [2/2]

static std::string rtc::OpenSSLStreamAdapter::SslCipherSuiteToName ( int  crypto_suite)
static

◆ StartSSL() [1/2]

int rtc::OpenSSLStreamAdapter::StartSSL ( )
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ StartSSL() [2/2]

int rtc::OpenSSLStreamAdapter::StartSSL ( )
overridevirtual

Implements rtc::SSLStreamAdapter.

◆ Write() [1/2]

StreamResult rtc::OpenSSLStreamAdapter::Write ( const void data,
size_t  data_len,
size_t written,
int *  error 
)
overridevirtual

Reimplemented from rtc::StreamAdapterInterface.

◆ Write() [2/2]

StreamResult rtc::OpenSSLStreamAdapter::Write ( const void data,
size_t  data_len,
size_t written,
int *  error 
)
overridevirtual

Implements rtc::StreamInterface.


The documentation for this class was generated from the following files: