Clean up legacy variant of DTLS-SRTP key exporter

BUG=webrtc:357776213

Change-Id: Id383c3a2a8627e3d0aceb80da30db14ea689ac93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368181
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43467}
This commit is contained in:
Philipp Hancke 2024-11-13 13:36:44 -08:00 committed by WebRTC LUCI CQ
parent caa3eff65f
commit c75fbe24e6
4 changed files with 2 additions and 42 deletions

View File

@ -383,20 +383,6 @@ bool OpenSSLStreamAdapter::ExportSrtpKeyingMaterial(
return true; return true;
} }
bool OpenSSLStreamAdapter::ExportKeyingMaterial(absl::string_view label,
const uint8_t* context,
size_t context_len,
bool use_context,
uint8_t* result,
size_t result_len) {
if (SSL_export_keying_material(ssl_, result, result_len, label.data(),
label.length(), context, context_len,
use_context) != 1) {
return false;
}
return true;
}
uint16_t OpenSSLStreamAdapter::GetPeerSignatureAlgorithm() const { uint16_t OpenSSLStreamAdapter::GetPeerSignatureAlgorithm() const {
if (state_ != SSL_CONNECTED) { if (state_ != SSL_CONNECTED) {
return 0; return 0;

View File

@ -109,13 +109,6 @@ class OpenSSLStreamAdapter final : public SSLStreamAdapter {
// Key Extractor interface // Key Extractor interface
bool ExportSrtpKeyingMaterial( bool ExportSrtpKeyingMaterial(
rtc::ZeroOnFreeBuffer<uint8_t>& keying_material) override; rtc::ZeroOnFreeBuffer<uint8_t>& keying_material) override;
[[deprecated("Use ExportSrtpKeyingMaterial instead")]] bool
ExportKeyingMaterial(absl::string_view label,
const uint8_t* context,
size_t context_len,
bool use_context,
uint8_t* result,
size_t result_len) override;
uint16_t GetPeerSignatureAlgorithm() const override; uint16_t GetPeerSignatureAlgorithm() const override;

View File

@ -205,15 +205,6 @@ class SSLStreamAdapter : public StreamInterface {
// Key Exporter interface from RFC 5705 // Key Exporter interface from RFC 5705
virtual bool ExportSrtpKeyingMaterial( virtual bool ExportSrtpKeyingMaterial(
rtc::ZeroOnFreeBuffer<uint8_t>& keying_material) = 0; rtc::ZeroOnFreeBuffer<uint8_t>& keying_material) = 0;
[[deprecated("Use ExportSrtpKeyingMaterial instead")]] virtual bool
ExportKeyingMaterial(absl::string_view label,
const uint8_t* context,
size_t context_len,
bool use_context,
uint8_t* result,
size_t result_len) {
return false;
}
// Returns the signature algorithm or 0 if not applicable. // Returns the signature algorithm or 0 if not applicable.
virtual uint16_t GetPeerSignatureAlgorithm() const = 0; virtual uint16_t GetPeerSignatureAlgorithm() const = 0;

View File

@ -1387,10 +1387,8 @@ TEST_F(SSLStreamAdapterTestDTLS, TestDTLSSrtpKeyAndSaltLengths) {
ASSERT_EQ(96 / 8, salt_len); ASSERT_EQ(96 / 8, salt_len);
} }
// Test an exporter // Test the DTLS-SRTP key exporter
#pragma clang diagnostic push TEST_F(SSLStreamAdapterTestDTLS, TestDTLSSrtpExporter) {
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
TEST_F(SSLStreamAdapterTestDTLS, TestDTLSExporter) {
const std::vector<int> crypto_suites = {rtc::kSrtpAes128CmSha1_80}; const std::vector<int> crypto_suites = {rtc::kSrtpAes128CmSha1_80};
SetDtlsSrtpCryptoSuites(crypto_suites, true); SetDtlsSrtpCryptoSuites(crypto_suites, true);
SetDtlsSrtpCryptoSuites(crypto_suites, false); SetDtlsSrtpCryptoSuites(crypto_suites, false);
@ -1408,15 +1406,7 @@ TEST_F(SSLStreamAdapterTestDTLS, TestDTLSExporter) {
EXPECT_TRUE(client_ssl_->ExportSrtpKeyingMaterial(client_out)); EXPECT_TRUE(client_ssl_->ExportSrtpKeyingMaterial(client_out));
EXPECT_TRUE(server_ssl_->ExportSrtpKeyingMaterial(server_out)); EXPECT_TRUE(server_ssl_->ExportSrtpKeyingMaterial(server_out));
EXPECT_EQ(client_out, server_out); EXPECT_EQ(client_out, server_out);
// Legacy variant.
rtc::ZeroOnFreeBuffer<uint8_t> legacy_out(2 * (key_len + salt_len));
EXPECT_TRUE(client_ssl_->ExportKeyingMaterial("EXTRACTOR-dtls_srtp", nullptr,
0, false, legacy_out.data(),
legacy_out.size()));
EXPECT_EQ(client_out, legacy_out);
} }
#pragma clang diagnostic pop
// Test not yet valid certificates are not rejected. // Test not yet valid certificates are not rejected.
TEST_F(SSLStreamAdapterTestDTLS, TestCertNotYetValid) { TEST_F(SSLStreamAdapterTestDTLS, TestCertNotYetValid) {