summaryrefslogtreecommitdiffstats
path: root/net/socket/ssl_client_socket_mac.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket/ssl_client_socket_mac.h')
-rw-r--r--net/socket/ssl_client_socket_mac.h12
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_;