| Index: webrtc/base/sslstreamadapter.h
|
| diff --git a/webrtc/base/sslstreamadapter.h b/webrtc/base/sslstreamadapter.h
|
| index 4fb238a290482d13d00569bc57ccc5cdc45389f8..867f309a03b6c721339082e8a3676aa4772a8993 100644
|
| --- a/webrtc/base/sslstreamadapter.h
|
| +++ b/webrtc/base/sslstreamadapter.h
|
| @@ -19,6 +19,23 @@
|
|
|
| namespace rtc {
|
|
|
| +// Constants for SRTP profiles.
|
| +const uint16_t SRTP_AES128_CM_SHA1_80 = 0x0001;
|
| +const uint16_t SRTP_AES128_CM_SHA1_32 = 0x0002;
|
| +
|
| +// Cipher suite to use for SRTP. Typically a 80-bit HMAC will be used, except
|
| +// in applications (voice) where the additional bandwidth may be significant.
|
| +// A 80-bit HMAC is always used for SRTCP.
|
| +// 128-bit AES with 80-bit SHA-1 HMAC.
|
| +extern const char CS_AES_CM_128_HMAC_SHA1_80[];
|
| +// 128-bit AES with 32-bit SHA-1 HMAC.
|
| +extern const char CS_AES_CM_128_HMAC_SHA1_32[];
|
| +
|
| +// Returns the DTLS-SRTP protection profile ID, as defined in
|
| +// https://tools.ietf.org/html/rfc5764#section-4.1.2, for the given SRTP
|
| +// Crypto-suite, as defined in https://tools.ietf.org/html/rfc4568#section-6.2
|
| +uint16_t GetSrtpCryptoSuiteFromName(const std::string& cipher_rfc_name);
|
| +
|
| // SSLStreamAdapter : A StreamInterfaceAdapter that does SSL/TLS.
|
| // After SSL has been started, the stream will only open on successful
|
| // SSL verification of certificates, and the communication is
|
| @@ -133,9 +150,9 @@ class SSLStreamAdapter : public StreamAdapterInterface {
|
| // chain. The returned certificate is owned by the caller.
|
| virtual bool GetPeerCertificate(SSLCertificate** cert) const = 0;
|
|
|
| - // Retrieves the name of the cipher suite used for the connection
|
| - // (e.g. "TLS_RSA_WITH_AES_128_CBC_SHA").
|
| - virtual bool GetSslCipher(std::string* cipher);
|
| + // Retrieves the IANA registration id of the cipher suite used for the
|
| + // connection (e.g. 0x2F for "TLS_RSA_WITH_AES_128_CBC_SHA").
|
| + virtual bool GetSslCipherSuite(uint16_t* cipher);
|
|
|
| // Key Exporter interface from RFC 5705
|
| // Arguments are:
|
| @@ -167,9 +184,14 @@ class SSLStreamAdapter : public StreamAdapterInterface {
|
|
|
| // Returns the default Ssl cipher used between streams of this class
|
| // for the given protocol version. This is used by the unit tests.
|
| - // TODO(torbjorng@webrtc.org): Fix callers to avoid default parameter.
|
| - static std::string GetDefaultSslCipher(SSLProtocolVersion version,
|
| - KeyType key_type = KT_DEFAULT);
|
| + // TODO(guoweis): Move this away from a static class method.
|
| + static uint16_t GetDefaultSslCipherForTest(SSLProtocolVersion version,
|
| + KeyType key_type);
|
| +
|
| + // TODO(guoweis): Move this away from a static class method. Currently this is
|
| + // introduced such that any caller could depend on sslstreamadapter.h without
|
| + // depending on specific SSL implementation.
|
| + static std::string GetSslCipherSuiteName(uint16_t cipher);
|
|
|
| private:
|
| // If true, the server certificate need not match the configured
|
|
|