diff options
Diffstat (limited to 'net/socket/ssl_client_socket_mac.h')
-rw-r--r-- | net/socket/ssl_client_socket_mac.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/net/socket/ssl_client_socket_mac.h b/net/socket/ssl_client_socket_mac.h index 906bde5..a447055 100644 --- a/net/socket/ssl_client_socket_mac.h +++ b/net/socket/ssl_client_socket_mac.h @@ -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 @@ class SSLClientSocketMac : public SSLClientSocket { int DoPayloadRead(); int DoPayloadWrite(); int DoHandshake(); + int DoVerifyCert(); + int DoVerifyCertComplete(int result); int DoReadComplete(int result); void OnWriteComplete(int result); @@ -79,14 +84,17 @@ class SSLClientSocketMac : public SSLClientSocket { 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_; |