| Index: webrtc/base/opensslstreamadapter.cc
|
| diff --git a/webrtc/base/opensslstreamadapter.cc b/webrtc/base/opensslstreamadapter.cc
|
| index 3d1760721f1f55c136306b7fb5f371453fb92ff4..20584ab21b04e4b96b1e2bd293c1fbb375394783 100644
|
| --- a/webrtc/base/opensslstreamadapter.cc
|
| +++ b/webrtc/base/opensslstreamadapter.cc
|
| @@ -298,9 +298,10 @@ OpenSSLStreamAdapter::~OpenSSLStreamAdapter() {
|
| Cleanup();
|
| }
|
|
|
| -void OpenSSLStreamAdapter::SetIdentity(SSLIdentity* identity) {
|
| - ASSERT(!identity_);
|
| - identity_.reset(static_cast<OpenSSLIdentity*>(identity));
|
| +void OpenSSLStreamAdapter::SetCertificate(
|
| + const scoped_refptr<webrtc::DtlsCertificate>& certificate) {
|
| + ASSERT(!certificate_.get());
|
| + certificate_ = certificate;
|
| }
|
|
|
| void OpenSSLStreamAdapter::SetServerRole(SSLRole role) {
|
| @@ -877,7 +878,7 @@ void OpenSSLStreamAdapter::Cleanup() {
|
| SSL_CTX_free(ssl_ctx_);
|
| ssl_ctx_ = NULL;
|
| }
|
| - identity_.reset();
|
| + certificate_ = nullptr;
|
| peer_certificate_.reset();
|
|
|
| // Clear the DTLS timer
|
| @@ -985,7 +986,9 @@ SSL_CTX* OpenSSLStreamAdapter::SetupSSLContext() {
|
| }
|
| #endif
|
|
|
| - if (identity_ && !identity_->ConfigureIdentity(ctx)) {
|
| + if (certificate_.get() &&
|
| + !static_cast<OpenSSLIdentity*>(certificate_->identity())
|
| + ->ConfigureIdentity(ctx)) {
|
| SSL_CTX_free(ctx);
|
| return NULL;
|
| }
|
|
|