mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 13:50:40 +01:00
Fix OpenSSLIdentity::GetReference.
It didn't retain the chain. Bug: none Change-Id: I8e88c5e060d91d8f5e7ebade6ea8e65b3e5a416e Reviewed-on: https://webrtc-review.googlesource.com/28360 Commit-Queue: David Benjamin <davidben@webrtc.org> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21145}
This commit is contained in:
parent
062a8ead3b
commit
ea84b6bf49
2 changed files with 16 additions and 1 deletions
|
@ -598,7 +598,7 @@ const OpenSSLCertificate& OpenSSLIdentity::certificate() const {
|
|||
|
||||
OpenSSLIdentity* OpenSSLIdentity::GetReference() const {
|
||||
return new OpenSSLIdentity(WrapUnique(key_pair_->GetReference()),
|
||||
WrapUnique(certificate().GetReference()));
|
||||
WrapUnique(cert_chain_->Copy()));
|
||||
}
|
||||
|
||||
bool OpenSSLIdentity::ConfigureIdentity(SSL_CTX* ctx) {
|
||||
|
|
|
@ -991,6 +991,21 @@ TEST_F(SSLStreamAdapterTestDTLSCertChain, TwoCertHandshake) {
|
|||
EXPECT_EQ(kCACert, peer_cert_chain->Get(1).ToPEMString());
|
||||
}
|
||||
|
||||
TEST_F(SSLStreamAdapterTestDTLSCertChain, TwoCertHandshakeWithCopy) {
|
||||
std::unique_ptr<rtc::SSLIdentity> identity(
|
||||
rtc::SSLIdentity::FromPEMChainStrings(kRSA_PRIVATE_KEY_PEM,
|
||||
std::string(kCERT_PEM) + kCACert));
|
||||
server_identity_ = identity->GetReference();
|
||||
server_ssl_->SetIdentity(server_identity_);
|
||||
TestHandshake();
|
||||
std::unique_ptr<rtc::SSLCertChain> peer_cert_chain =
|
||||
client_ssl_->GetPeerSSLCertChain();
|
||||
ASSERT_NE(nullptr, peer_cert_chain);
|
||||
ASSERT_EQ(2u, peer_cert_chain->GetSize());
|
||||
EXPECT_EQ(kCERT_PEM, peer_cert_chain->Get(0).ToPEMString());
|
||||
EXPECT_EQ(kCACert, peer_cert_chain->Get(1).ToPEMString());
|
||||
}
|
||||
|
||||
TEST_F(SSLStreamAdapterTestDTLSCertChain, ThreeCertHandshake) {
|
||||
server_identity_ = rtc::SSLIdentity::FromPEMChainStrings(
|
||||
kRSA_PRIVATE_KEY_PEM, std::string(kCERT_PEM) + kIntCert1 + kCACert);
|
||||
|
|
Loading…
Reference in a new issue