std::vector<int> CryptoOptions::GetSupportedDtlsSrtpCryptoSuites() const {
std::vector<int> crypto_suites; // Note: kSrtpAes128CmSha1_80 is what is required to be supported (by // draft-ietf-rtcweb-security-arch), but kSrtpAes128CmSha1_32 is allowed as // well, and saves a few bytes per packet if it ends up selected. // As the cipher suite is potentially insecure, it will only be used if // enabled by both peers.
if (srtp.enable_aes128_sha1_32_crypto_cipher) {
crypto_suites.push_back(kSrtpAes128CmSha1_32);
}
if (srtp.enable_aes128_sha1_80_crypto_cipher) {
crypto_suites.push_back(kSrtpAes128CmSha1_80);
}
// Note: GCM cipher suites are not the top choice since they increase the // packet size. In order to negotiate them the other side must not support // kSrtpAes128CmSha1_80.
if (srtp.enable_gcm_crypto_suites) {
crypto_suites.push_back(kSrtpAeadAes256Gcm);
crypto_suites.push_back(kSrtpAeadAes128Gcm);
}
RTC_CHECK(!crypto_suites.empty()); return crypto_suites;
}
void CryptoOptions::EphemeralKeyExchangeCipherGroups::Update( const FieldTrialsView* field_trials, const std::vector<uint16_t>* disabled_groups) { // Note: assumption is that these lists contains few elements...so converting // to set<> is not worth it.
std::vector<uint16_t> default_groups =
SSLStreamAdapter::GetDefaultEphemeralKeyExchangeCipherGroups(
field_trials); // Remove all disabled.
if (disabled_groups) {
std::erase_if(default_groups, [&](uint16_t val) { return absl::c_linear_search(*disabled_groups, val);
});
std::erase_if(enabled_, [&](uint16_t val) { return absl::c_linear_search(*disabled_groups, val);
});
}
// Add those enabled by field-trials first.
std::vector<uint16_t> current = std::move(enabled_);
enabled_.clear();
for (auto val : default_groups) {
if (!absl::c_linear_search(current, val)) {
enabled_.push_back(val);
}
}
// Then re-add those present (unless already there).
for (auto val : current) {
if (!absl::c_linear_search(enabled_, val)) {
enabled_.push_back(val);
}
}
}
} // namespace webrtc
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.4Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.