This CL adds an API to the SSL stream adapters and transport channels to get the SSL cipher that was negotiated with the remote peer.
BUG=3976 R=davidben@chromium.org, juberti@webrtc.org, pthatcher@webrtc.org Review URL: https://webrtc-codereview.appspot.com/26009004 Cr-Commit-Position: refs/heads/master@{#8275} git-svn-id: http://webrtc.googlecode.com/svn/trunk@8275 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@ -388,6 +388,13 @@ class SSLStreamAdapterTestBase : public testing::Test,
|
||||
return server_ssl_->GetPeerCertificate(cert);
|
||||
}
|
||||
|
||||
bool GetSslCipher(bool client, std::string *retval) {
|
||||
if (client)
|
||||
return client_ssl_->GetSslCipher(retval);
|
||||
else
|
||||
return server_ssl_->GetSslCipher(retval);
|
||||
}
|
||||
|
||||
bool ExportKeyingMaterial(const char *label,
|
||||
const unsigned char *context,
|
||||
size_t context_len,
|
||||
@ -939,3 +946,17 @@ TEST_F(SSLStreamAdapterTestDTLSFromPEMStrings, TestDTLSGetPeerCertificate) {
|
||||
rtc::SSLCertChain* server_peer_chain;
|
||||
ASSERT_FALSE(server_peer_cert->GetChain(&server_peer_chain));
|
||||
}
|
||||
|
||||
// Test getting the used DTLS ciphers.
|
||||
TEST_F(SSLStreamAdapterTestDTLS, TestGetSslCipher) {
|
||||
MAYBE_SKIP_TEST(HaveDtls);
|
||||
TestHandshake();
|
||||
|
||||
std::string client_cipher;
|
||||
ASSERT_TRUE(GetSslCipher(true, &client_cipher));
|
||||
std::string server_cipher;
|
||||
ASSERT_TRUE(GetSslCipher(false, &server_cipher));
|
||||
|
||||
ASSERT_EQ(client_cipher, server_cipher);
|
||||
ASSERT_EQ(rtc::SSLStreamAdapter::GetDefaultSslCipher(), client_cipher);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user