Index: net/socket/ssl_server_socket_impl.cc |
diff --git a/net/socket/ssl_server_socket_impl.cc b/net/socket/ssl_server_socket_impl.cc |
index 9b3cfd303d1a48e407e7ba8565d706b7f87189bc..24fc2bf35c294b6d6826742cdb6541a29456f810 100644 |
--- a/net/socket/ssl_server_socket_impl.cc |
+++ b/net/socket/ssl_server_socket_impl.cc |
@@ -643,7 +643,12 @@ SSLServerContextImpl::SSLServerContextImpl( |
// Set certificate and private key. |
DCHECK(cert_->os_cert_handle()); |
-#if defined(USE_OPENSSL_CERTS) |
+#if BUILDFLAG(USE_BYTE_CERTS) |
+ bssl::UniquePtr<X509> x509(X509_parse_from_buffer(cert_->os_cert_handle())); |
+ CHECK(x509); |
+ // On success, SSL_CTX_use_certificate acquires a reference to |x509|. |
+ CHECK(SSL_CTX_use_certificate(ssl_ctx_.get(), x509.get())); |
+#elif defined(USE_OPENSSL_CERTS) |
CHECK(SSL_CTX_use_certificate(ssl_ctx_.get(), cert_->os_cert_handle())); |
#else |
// Convert OSCertHandle to X509 structure. |
@@ -659,7 +664,7 @@ SSLServerContextImpl::SSLServerContextImpl( |
// On success, SSL_CTX_use_certificate acquires a reference to |x509|. |
CHECK(SSL_CTX_use_certificate(ssl_ctx_.get(), x509.get())); |
-#endif // USE_OPENSSL_CERTS |
+#endif // USE_OPENSSL_CERTS && !USE_BYTE_CERTS |
davidben
2017/04/11 23:42:45
You can simplify this a bit and SSL_CTX_use_certif
mattm
2017/04/12 23:07:45
Updated. Mind taking another look?
|
DCHECK(key_->key()); |
CHECK(SSL_CTX_use_PrivateKey(ssl_ctx_.get(), key_->key())); |