| Index: net/socket/ssl_client_socket_mac.h
|
| ===================================================================
|
| --- net/socket/ssl_client_socket_mac.h (revision 24466)
|
| +++ net/socket/ssl_client_socket_mac.h (working copy)
|
| @@ -11,12 +11,15 @@
|
| #include <vector>
|
|
|
| #include "base/scoped_ptr.h"
|
| +#include "net/base/cert_verify_result.h"
|
| #include "net/base/completion_callback.h"
|
| #include "net/base/ssl_config_service.h"
|
| #include "net/socket/ssl_client_socket.h"
|
|
|
| namespace net {
|
|
|
| +class CertVerifier;
|
| +
|
| // An SSL client socket implemented with Secure Transport.
|
| class SSLClientSocketMac : public SSLClientSocket {
|
| public:
|
| @@ -51,6 +54,8 @@
|
| int DoPayloadRead();
|
| int DoPayloadWrite();
|
| int DoHandshake();
|
| + int DoVerifyCert();
|
| + int DoVerifyCertComplete(int result);
|
| int DoReadComplete(int result);
|
| void OnWriteComplete(int result);
|
|
|
| @@ -79,14 +84,17 @@
|
| STATE_PAYLOAD_READ,
|
| STATE_PAYLOAD_WRITE,
|
| STATE_HANDSHAKE,
|
| + STATE_VERIFY_CERT,
|
| + STATE_VERIFY_CERT_COMPLETE,
|
| STATE_READ_COMPLETE,
|
| };
|
| State next_state_;
|
| State next_io_state_;
|
|
|
| - // Set when handshake finishes.
|
| scoped_refptr<X509Certificate> server_cert_;
|
| - int server_cert_status_;
|
| + std::vector<scoped_refptr<X509Certificate> > intermediate_certs_;
|
| + scoped_ptr<CertVerifier> verifier_;
|
| + CertVerifyResult server_cert_verify_result_;
|
|
|
| bool completed_handshake_;
|
| SSLContextRef ssl_context_;
|
|
|