| Index: net/socket/ssl_server_socket_nss.h
|
| diff --git a/net/socket/ssl_server_socket_nss.h b/net/socket/ssl_server_socket_nss.h
|
| index 73a659e5bdfece1fff3c3580b681c1a74e6415a2..b2254d1ec394407413cdf4c7e97de00cd1ecd9ef 100644
|
| --- a/net/socket/ssl_server_socket_nss.h
|
| +++ b/net/socket/ssl_server_socket_nss.h
|
| @@ -33,6 +33,9 @@ class SSLServerSocketNSS : public SSLServerSocket {
|
|
|
| // SSLServerSocket interface.
|
| int Handshake(const CompletionCallback& callback) override;
|
| + void SetRequireClientCert(bool require_client_cert) override;
|
| + void SetClientCertCAList(const CertificateList& client_cert_ca_list) override;
|
| + void SetClientCertVerifier(CertVerifier* client_cert_verifier) override;
|
|
|
| // SSLSocket interface.
|
| int ExportKeyingMaterial(const base::StringPiece& label,
|
| @@ -107,6 +110,7 @@ class SSLServerSocketNSS : public SSLServerSocket {
|
| static void HandshakeCallback(PRFileDesc* socket, void* arg);
|
|
|
| int Init();
|
| + void ExtractClientCert();
|
|
|
| // Members used to send and receive buffer.
|
| bool transport_send_busy_;
|
| @@ -146,9 +150,18 @@ class SSLServerSocketNSS : public SSLServerSocket {
|
| // Private key used by the server.
|
| scoped_ptr<crypto::RSAPrivateKey> key_;
|
|
|
| + // Certificate of the client.
|
| + scoped_refptr<X509Certificate> client_cert_;
|
| +
|
| State next_handshake_state_;
|
| bool completed_handshake_;
|
|
|
| + // Information to be used in CertificateRequest message.
|
| + CertificateList client_cert_ca_list_;
|
| +
|
| + // Used to provide callback for client certificate verification.
|
| + CertVerifier* client_cert_verifier_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SSLServerSocketNSS);
|
| };
|
|
|
|
|