Index: net/socket/ssl_server_socket_nss.cc |
diff --git a/net/socket/ssl_server_socket_nss.cc b/net/socket/ssl_server_socket_nss.cc |
index 9fe0c2ace4203f2d330c66e29cc3324c6b508b67..ca4db4b2d44d8d2a367d9900732e68d018f717fa 100644 |
--- a/net/socket/ssl_server_socket_nss.cc |
+++ b/net/socket/ssl_server_socket_nss.cc |
@@ -77,20 +77,36 @@ static base::LazyInstance<NSSSSLServerInitSingleton>::Leaky |
} // namespace |
+scoped_ptr<SSLServerSocketContext> CreateSSLServerSocketContext( |
+ X509Certificate* certificate, |
+ crypto::RSAPrivateKey* key, |
davidben
2016/01/22 23:57:48
I don't think this compiles. It doesn't match the
ryanchung
2016/01/29 23:28:15
Done.
|
+ const SSLServerConfig& ssl_server_config) { |
+ return new SSLServerSocketContextNSS(certificate, key, ssl_server_config); |
+} |
+ |
void EnableSSLServerSockets() { |
g_nss_ssl_server_init_singleton.Get(); |
} |
-scoped_ptr<SSLServerSocket> CreateSSLServerSocket( |
- scoped_ptr<StreamSocket> socket, |
- X509Certificate* certificate, |
+SSLServerSocketContextNSS::SSLServerSocketContextNSS( |
+ scoped_refptr<X509Certificate> certificate, |
davidben
2016/01/22 23:57:48
Nit: Unnecessary bouncing on reference counts. X50
ryanchung
2016/01/29 23:28:15
Done.
|
const crypto::RSAPrivateKey& key, |
- const SSLServerConfig& ssl_server_config) { |
+ const SSLServerConfig& ssl_server_config) |
+ : ssl_server_config_(ssl_server_config), |
+ cert_(certificate), |
+ key_(key.Copy()) { |
+ CHECK(key_); |
+} |
+ |
+SSLServerSocketContextNSS::~SSLServerSocketContextNSS() {} |
+ |
+scoped_ptr<SSLServerSocket> SSLServerSocketContextNSS::CreateSSLServerSocket( |
+ scoped_ptr<StreamSocket> socket) { |
DCHECK(g_nss_server_sockets_init) << "EnableSSLServerSockets() has not been" |
<< " called yet!"; |
return scoped_ptr<SSLServerSocket>(new SSLServerSocketNSS( |
- std::move(socket), certificate, key, ssl_server_config)); |
+ std::move(socket), cert_.get(), *key_, ssl_server_config_)); |
} |
SSLServerSocketNSS::SSLServerSocketNSS( |