Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(417)

Unified Diff: webrtc/base/opensslstreamadapter.cc

Issue 1269843005: Added DtlsCertificate, a ref counted object owning an SSLIdentity (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Merge with master Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698