webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
rtc::SSLStreamAdapter Class Referenceabstract

#include <sslstreamadapter.h>

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

Public Member Functions

 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
 
virtual void SetIdentity (SSLIdentity *identity)=0
 
virtual void SetServerRole (SSLRole role=SSL_SERVER)=0
 
virtual void SetMode (SSLMode mode)=0
 
virtual void SetMaxProtocolVersion (SSLProtocolVersion version)=0
 
virtual void SetInitialRetransmissionTimeout (int timeout_ms)=0
 
virtual int StartSSL ()=0
 
virtual bool SetPeerCertificateDigest (const std::string &digest_alg, const unsigned char *digest_val, size_t digest_len, SSLPeerCertificateDigestError *error=nullptr)=0
 
virtual std::unique_ptr< SSLCertificateGetPeerCertificate () const =0
 
virtual bool GetSslCipherSuite (int *cipher_suite)
 
virtual int GetSslVersion () const =0
 
virtual bool ExportKeyingMaterial (const std::string &label, const uint8_t *context, size_t context_len, bool use_context, uint8_t *result, size_t result_len)
 
virtual bool SetDtlsSrtpCryptoSuites (const std::vector< int > &crypto_suites)
 
virtual bool GetDtlsSrtpCryptoSuite (int *crypto_suite)
 
virtual bool IsTlsConnected ()=0
 
 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
 
virtual void SetIdentity (SSLIdentity *identity)=0
 
virtual void SetServerRole (SSLRole role=SSL_SERVER)=0
 
virtual void SetMode (SSLMode mode)=0
 
virtual void SetMaxProtocolVersion (SSLProtocolVersion version)=0
 
virtual void SetInitialRetransmissionTimeout (int timeout_ms)=0
 
virtual int StartSSL ()=0
 
virtual bool SetPeerCertificateDigest (const std::string &digest_alg, const unsigned char *digest_val, size_t digest_len, SSLPeerCertificateDigestError *error=nullptr)=0
 
virtual std::unique_ptr< SSLCertificateGetPeerCertificate () const =0
 
virtual bool GetSslCipherSuite (int *cipher_suite)
 
virtual int GetSslVersion () const =0
 
virtual bool ExportKeyingMaterial (const std::string &label, const uint8_t *context, size_t context_len, bool use_context, uint8_t *result, size_t result_len)
 
virtual bool SetDtlsSrtpCryptoSuites (const std::vector< int > &crypto_suites)
 
virtual bool GetDtlsSrtpCryptoSuite (int *crypto_suite)
 
virtual bool IsTlsConnected ()=0
 
- Public Member Functions inherited from rtc::StreamAdapterInterface
 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 ()
 
 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 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 ()
 

Public Attributes

sigslot::signal1< SSLHandshakeErrorSignalSSLHandshakeError
 
- Public Attributes inherited from rtc::StreamInterface
sigslot::signal3< StreamInterface *, int, int > SignalEvent
 

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 }
 
- Protected Member Functions inherited from rtc::StreamAdapterInterface
 ~StreamAdapterInterface () override
 
virtual void OnEvent (StreamInterface *stream, int events, int err)
 
StreamInterfacestream ()
 
 ~StreamAdapterInterface () override
 
virtual void OnEvent (StreamInterface *stream, int events, int err)
 
StreamInterfacestream ()
 
- Protected Member Functions inherited from rtc::StreamInterface
 StreamInterface ()
 
void OnMessage (Message *msg) override
 
 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 ()
 

Constructor & Destructor Documentation

◆ SSLStreamAdapter() [1/2]

rtc::SSLStreamAdapter::SSLStreamAdapter ( StreamInterface stream)
explicit

◆ ~SSLStreamAdapter() [1/2]

rtc::SSLStreamAdapter::~SSLStreamAdapter ( )
override

◆ SSLStreamAdapter() [2/2]

rtc::SSLStreamAdapter::SSLStreamAdapter ( StreamInterface stream)
explicit

◆ ~SSLStreamAdapter() [2/2]

rtc::SSLStreamAdapter::~SSLStreamAdapter ( )
override

Member Function Documentation

◆ client_auth_enabled() [1/2]

bool rtc::SSLStreamAdapter::client_auth_enabled ( ) const
inline

◆ client_auth_enabled() [2/2]

bool rtc::SSLStreamAdapter::client_auth_enabled ( ) const
inline

◆ Create() [1/2]

SSLStreamAdapter * rtc::SSLStreamAdapter::Create ( StreamInterface stream)
static

◆ Create() [2/2]

static SSLStreamAdapter* rtc::SSLStreamAdapter::Create ( StreamInterface stream)
static

◆ enable_time_callback_for_testing() [1/2]

void rtc::SSLStreamAdapter::enable_time_callback_for_testing ( )
static

◆ enable_time_callback_for_testing() [2/2]

static void rtc::SSLStreamAdapter::enable_time_callback_for_testing ( )
static

◆ ExportKeyingMaterial() [1/2]

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

◆ ExportKeyingMaterial() [2/2]

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

◆ GetDtlsSrtpCryptoSuite() [1/2]

bool rtc::SSLStreamAdapter::GetDtlsSrtpCryptoSuite ( int *  crypto_suite)
virtual

◆ GetDtlsSrtpCryptoSuite() [2/2]

virtual bool rtc::SSLStreamAdapter::GetDtlsSrtpCryptoSuite ( int *  crypto_suite)
virtual

◆ GetPeerCertificate() [1/2]

virtual std::unique_ptr<SSLCertificate> rtc::SSLStreamAdapter::GetPeerCertificate ( ) const
pure virtual

◆ GetPeerCertificate() [2/2]

virtual std::unique_ptr<SSLCertificate> rtc::SSLStreamAdapter::GetPeerCertificate ( ) const
pure virtual

◆ GetSslCipherSuite() [1/2]

virtual bool rtc::SSLStreamAdapter::GetSslCipherSuite ( int *  cipher_suite)
virtual

◆ GetSslCipherSuite() [2/2]

bool rtc::SSLStreamAdapter::GetSslCipherSuite ( int *  cipher_suite)
virtual

◆ GetSslVersion() [1/2]

virtual int rtc::SSLStreamAdapter::GetSslVersion ( ) const
pure virtual

◆ GetSslVersion() [2/2]

virtual int rtc::SSLStreamAdapter::GetSslVersion ( ) const
pure virtual

◆ ignore_bad_cert() [1/2]

bool rtc::SSLStreamAdapter::ignore_bad_cert ( ) const
inline

◆ ignore_bad_cert() [2/2]

bool rtc::SSLStreamAdapter::ignore_bad_cert ( ) const
inline

◆ IsAcceptableCipher() [1/4]

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

◆ IsAcceptableCipher() [2/4]

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

◆ IsAcceptableCipher() [3/4]

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

◆ IsAcceptableCipher() [4/4]

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

◆ IsBoringSsl() [1/2]

bool rtc::SSLStreamAdapter::IsBoringSsl ( )
static

◆ IsBoringSsl() [2/2]

static bool rtc::SSLStreamAdapter::IsBoringSsl ( )
static

◆ IsTlsConnected() [1/2]

virtual bool rtc::SSLStreamAdapter::IsTlsConnected ( )
pure virtual

◆ IsTlsConnected() [2/2]

virtual bool rtc::SSLStreamAdapter::IsTlsConnected ( )
pure virtual

◆ set_client_auth_enabled() [1/2]

void rtc::SSLStreamAdapter::set_client_auth_enabled ( bool  enabled)
inline

◆ set_client_auth_enabled() [2/2]

void rtc::SSLStreamAdapter::set_client_auth_enabled ( bool  enabled)
inline

◆ set_ignore_bad_cert() [1/2]

void rtc::SSLStreamAdapter::set_ignore_bad_cert ( bool  ignore)
inline

◆ set_ignore_bad_cert() [2/2]

void rtc::SSLStreamAdapter::set_ignore_bad_cert ( bool  ignore)
inline

◆ SetDtlsSrtpCryptoSuites() [1/2]

bool rtc::SSLStreamAdapter::SetDtlsSrtpCryptoSuites ( const std::vector< int > &  crypto_suites)
virtual

◆ SetDtlsSrtpCryptoSuites() [2/2]

virtual bool rtc::SSLStreamAdapter::SetDtlsSrtpCryptoSuites ( const std::vector< int > &  crypto_suites)
virtual

◆ SetIdentity() [1/2]

virtual void rtc::SSLStreamAdapter::SetIdentity ( SSLIdentity identity)
pure virtual

◆ SetIdentity() [2/2]

virtual void rtc::SSLStreamAdapter::SetIdentity ( SSLIdentity identity)
pure virtual

◆ SetInitialRetransmissionTimeout() [1/2]

virtual void rtc::SSLStreamAdapter::SetInitialRetransmissionTimeout ( int  timeout_ms)
pure virtual

◆ SetInitialRetransmissionTimeout() [2/2]

virtual void rtc::SSLStreamAdapter::SetInitialRetransmissionTimeout ( int  timeout_ms)
pure virtual

◆ SetMaxProtocolVersion() [1/2]

virtual void rtc::SSLStreamAdapter::SetMaxProtocolVersion ( SSLProtocolVersion  version)
pure virtual

◆ SetMaxProtocolVersion() [2/2]

virtual void rtc::SSLStreamAdapter::SetMaxProtocolVersion ( SSLProtocolVersion  version)
pure virtual

◆ SetMode() [1/2]

virtual void rtc::SSLStreamAdapter::SetMode ( SSLMode  mode)
pure virtual

◆ SetMode() [2/2]

virtual void rtc::SSLStreamAdapter::SetMode ( SSLMode  mode)
pure virtual

◆ SetPeerCertificateDigest() [1/2]

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

◆ SetPeerCertificateDigest() [2/2]

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

◆ SetServerRole() [1/2]

virtual void rtc::SSLStreamAdapter::SetServerRole ( SSLRole  role = SSL_SERVER)
pure virtual

◆ SetServerRole() [2/2]

virtual void rtc::SSLStreamAdapter::SetServerRole ( SSLRole  role = SSL_SERVER)
pure virtual

◆ SslCipherSuiteToName() [1/2]

static std::string rtc::SSLStreamAdapter::SslCipherSuiteToName ( int  cipher_suite)
static

◆ SslCipherSuiteToName() [2/2]

std::string rtc::SSLStreamAdapter::SslCipherSuiteToName ( int  cipher_suite)
static

◆ StartSSL() [1/2]

virtual int rtc::SSLStreamAdapter::StartSSL ( )
pure virtual

◆ StartSSL() [2/2]

virtual int rtc::SSLStreamAdapter::StartSSL ( )
pure virtual

Member Data Documentation

◆ SignalSSLHandshakeError

sigslot::signal1< SSLHandshakeError > rtc::SSLStreamAdapter::SignalSSLHandshakeError

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