OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ | 5 #ifndef NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ |
6 #define NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ | 6 #define NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 virtual bool GetSSLInfo(SSLInfo* ssl_info) OVERRIDE; | 83 virtual bool GetSSLInfo(SSLInfo* ssl_info) OVERRIDE; |
84 | 84 |
85 // Socket implementation. | 85 // Socket implementation. |
86 virtual int Read(IOBuffer* buf, int buf_len, | 86 virtual int Read(IOBuffer* buf, int buf_len, |
87 const CompletionCallback& callback) OVERRIDE; | 87 const CompletionCallback& callback) OVERRIDE; |
88 virtual int Write(IOBuffer* buf, int buf_len, | 88 virtual int Write(IOBuffer* buf, int buf_len, |
89 const CompletionCallback& callback) OVERRIDE; | 89 const CompletionCallback& callback) OVERRIDE; |
90 virtual bool SetReceiveBufferSize(int32 size) OVERRIDE; | 90 virtual bool SetReceiveBufferSize(int32 size) OVERRIDE; |
91 virtual bool SetSendBufferSize(int32 size) OVERRIDE; | 91 virtual bool SetSendBufferSize(int32 size) OVERRIDE; |
92 | 92 |
| 93 protected: |
| 94 // SSLClientSocket implementation. |
| 95 virtual scoped_refptr<X509Certificate> GetUnverifiedServerCertificateChain() |
| 96 const OVERRIDE; |
| 97 |
93 private: | 98 private: |
| 99 class PeerCertificateChain; |
94 class SSLContext; | 100 class SSLContext; |
95 friend class SSLClientSocket; | 101 friend class SSLClientSocket; |
96 friend class SSLContext; | 102 friend class SSLContext; |
97 | 103 |
98 bool Init(); | 104 bool Init(); |
99 void DoReadCallback(int result); | 105 void DoReadCallback(int result); |
100 void DoWriteCallback(int result); | 106 void DoWriteCallback(int result); |
101 | 107 |
102 bool DoTransportIO(); | 108 bool DoTransportIO(); |
103 int DoHandshake(); | 109 int DoHandshake(); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 // the result to return on the *next* call to DoPayloadRead(). A value > 0 | 168 // the result to return on the *next* call to DoPayloadRead(). A value > 0 |
163 // indicates there is no pending result, otherwise 0 indicates EOF and < 0 | 169 // indicates there is no pending result, otherwise 0 indicates EOF and < 0 |
164 // indicates an error. | 170 // indicates an error. |
165 int pending_read_error_; | 171 int pending_read_error_; |
166 | 172 |
167 // Used by TransportWriteComplete() and TransportReadComplete() to signify an | 173 // Used by TransportWriteComplete() and TransportReadComplete() to signify an |
168 // error writing to the transport socket. A value of OK indicates no error. | 174 // error writing to the transport socket. A value of OK indicates no error. |
169 int transport_write_error_; | 175 int transport_write_error_; |
170 | 176 |
171 // Set when handshake finishes. | 177 // Set when handshake finishes. |
| 178 scoped_ptr<PeerCertificateChain> server_cert_chain_; |
172 scoped_refptr<X509Certificate> server_cert_; | 179 scoped_refptr<X509Certificate> server_cert_; |
173 CertVerifyResult server_cert_verify_result_; | 180 CertVerifyResult server_cert_verify_result_; |
174 bool completed_handshake_; | 181 bool completed_handshake_; |
175 | 182 |
176 // Stores client authentication information between ClientAuthHandler and | 183 // Stores client authentication information between ClientAuthHandler and |
177 // GetSSLCertRequestInfo calls. | 184 // GetSSLCertRequestInfo calls. |
178 bool client_auth_cert_needed_; | 185 bool client_auth_cert_needed_; |
179 // List of DER-encoded X.509 DistinguishedName of certificate authorities | 186 // List of DER-encoded X.509 DistinguishedName of certificate authorities |
180 // allowed by the server. | 187 // allowed by the server. |
181 std::vector<std::string> cert_authorities_; | 188 std::vector<std::string> cert_authorities_; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 // True if channel ID extension was negotiated. | 226 // True if channel ID extension was negotiated. |
220 bool channel_id_xtn_negotiated_; | 227 bool channel_id_xtn_negotiated_; |
221 // The request handle for |server_bound_cert_service_|. | 228 // The request handle for |server_bound_cert_service_|. |
222 ServerBoundCertService::RequestHandle channel_id_request_handle_; | 229 ServerBoundCertService::RequestHandle channel_id_request_handle_; |
223 BoundNetLog net_log_; | 230 BoundNetLog net_log_; |
224 }; | 231 }; |
225 | 232 |
226 } // namespace net | 233 } // namespace net |
227 | 234 |
228 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ | 235 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ |
OLD | NEW |