| 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 d40b096577cffc3848f57c49848dce3500ad55c9..b311272bda3b35ad65571af94bf704e513e65d02 100644
|
| --- a/net/socket/ssl_server_socket_nss.h
|
| +++ b/net/socket/ssl_server_socket_nss.h
|
| @@ -32,6 +32,9 @@ class SSLServerSocketNSS : public SSLServerSocket {
|
|
|
| // SSLServerSocket interface.
|
| int Handshake(const CompletionCallback& callback) override;
|
| + void SetAllowClientCert(bool allow_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,
|
| @@ -102,6 +105,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_;
|
| @@ -141,9 +145,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);
|
| };
|
|
|
|
|