#include "rtc_base/ssl_stream_adapter.h"
#include <cstddef>
#include <cstdint>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "absl/functional/any_invocable.h"
#include "absl/strings/string_view.h"
#include "rtc_base/openssl_stream_adapter.h"
#include "rtc_base/ssl_identity.h"
#include "rtc_base/stream.h"
namespace rtc {
const char kCsAesCm128HmacSha1_80[] = …;
const char kCsAesCm128HmacSha1_32[] = …;
const char kCsAeadAes128Gcm[] = …;
const char kCsAeadAes256Gcm[] = …;
std::string SrtpCryptoSuiteToName(int crypto_suite) { … }
bool GetSrtpKeyAndSaltLengths(int crypto_suite,
int* key_length,
int* salt_length) { … }
bool IsGcmCryptoSuite(int crypto_suite) { … }
std::unique_ptr<SSLStreamAdapter> SSLStreamAdapter::Create(
std::unique_ptr<StreamInterface> stream,
absl::AnyInvocable<void(SSLHandshakeError)> handshake_error) { … }
bool SSLStreamAdapter::GetSslCipherSuite(int* cipher_suite) { … }
bool SSLStreamAdapter::ExportKeyingMaterial(absl::string_view label,
const uint8_t* context,
size_t context_len,
bool use_context,
uint8_t* result,
size_t result_len) { … }
bool SSLStreamAdapter::SetDtlsSrtpCryptoSuites(
const std::vector<int>& crypto_suites) { … }
bool SSLStreamAdapter::GetDtlsSrtpCryptoSuite(int* crypto_suite) { … }
bool SSLStreamAdapter::IsBoringSsl() { … }
bool SSLStreamAdapter::IsAcceptableCipher(int cipher, KeyType key_type) { … }
bool SSLStreamAdapter::IsAcceptableCipher(absl::string_view cipher,
KeyType key_type) { … }
std::string SSLStreamAdapter::SslCipherSuiteToName(int cipher_suite) { … }
void SSLStreamAdapter::EnableTimeCallbackForTesting() { … }
}