Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(281)

Side by Side Diff: net/socket/ssl_client_socket_openssl.cc

Issue 12035105: Move client certificates retrieval logic out of the SSL sockets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Ryan's remarks Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 // OpenSSL binding for SSLClientSocket. The class layout and general principle 5 // OpenSSL binding for SSLClientSocket. The class layout and general principle
6 // of operation is derived from SSLClientSocketNSS. 6 // of operation is derived from SSLClientSocketNSS.
7 7
8 #include "net/socket/ssl_client_socket_openssl.h" 8 #include "net/socket/ssl_client_socket_openssl.h"
9 9
10 #include <openssl/ssl.h> 10 #include <openssl/ssl.h>
(...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 << SSLConnectionStatusToCompression(ssl_info->connection_status) 644 << SSLConnectionStatusToCompression(ssl_info->connection_status)
645 << " version = " 645 << " version = "
646 << SSLConnectionStatusToVersion(ssl_info->connection_status); 646 << SSLConnectionStatusToVersion(ssl_info->connection_status);
647 return true; 647 return true;
648 } 648 }
649 649
650 void SSLClientSocketOpenSSL::GetSSLCertRequestInfo( 650 void SSLClientSocketOpenSSL::GetSSLCertRequestInfo(
651 SSLCertRequestInfo* cert_request_info) { 651 SSLCertRequestInfo* cert_request_info) {
652 cert_request_info->host_and_port = host_and_port_.ToString(); 652 cert_request_info->host_and_port = host_and_port_.ToString();
653 cert_request_info->cert_authorities = cert_authorities_; 653 cert_request_info->cert_authorities = cert_authorities_;
654 cert_request_info->client_certs = client_certs_;
655 } 654 }
656 655
657 int SSLClientSocketOpenSSL::ExportKeyingMaterial( 656 int SSLClientSocketOpenSSL::ExportKeyingMaterial(
658 const base::StringPiece& label, 657 const base::StringPiece& label,
659 bool has_context, const base::StringPiece& context, 658 bool has_context, const base::StringPiece& context,
660 unsigned char* out, unsigned int outlen) { 659 unsigned char* out, unsigned int outlen) {
661 crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE); 660 crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE);
662 661
663 int rv = SSL_export_keying_material( 662 int rv = SSL_export_keying_material(
664 ssl_, out, outlen, const_cast<char*>(label.data()), 663 ssl_, out, outlen, const_cast<char*>(label.data()),
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 user_write_callback_.Reset(); 766 user_write_callback_.Reset();
768 user_read_buf_ = NULL; 767 user_read_buf_ = NULL;
769 user_read_buf_len_ = 0; 768 user_read_buf_len_ = 0;
770 user_write_buf_ = NULL; 769 user_write_buf_ = NULL;
771 user_write_buf_len_ = 0; 770 user_write_buf_len_ = 0;
772 771
773 server_cert_verify_result_.Reset(); 772 server_cert_verify_result_.Reset();
774 completed_handshake_ = false; 773 completed_handshake_ = false;
775 774
776 cert_authorities_.clear(); 775 cert_authorities_.clear();
777 client_certs_.clear();
778 client_auth_cert_needed_ = false; 776 client_auth_cert_needed_ = false;
779 } 777 }
780 778
781 int SSLClientSocketOpenSSL::DoHandshakeLoop(int last_io_result) { 779 int SSLClientSocketOpenSSL::DoHandshakeLoop(int last_io_result) {
782 int rv = last_io_result; 780 int rv = last_io_result;
783 do { 781 do {
784 // Default to STATE_NONE for next state. 782 // Default to STATE_NONE for next state.
785 // (This is a quirk carried over from the windows 783 // (This is a quirk carried over from the windows
786 // implementation. It makes reading the logs a bit harder.) 784 // implementation. It makes reading the logs a bit harder.)
787 // State handlers can and often do call GotoState just 785 // State handlers can and often do call GotoState just
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
1351 net_log_.AddByteTransferEvent(NetLog::TYPE_SSL_SOCKET_BYTES_SENT, rv, 1349 net_log_.AddByteTransferEvent(NetLog::TYPE_SSL_SOCKET_BYTES_SENT, rv,
1352 user_write_buf_->data()); 1350 user_write_buf_->data());
1353 return rv; 1351 return rv;
1354 } 1352 }
1355 1353
1356 int err = SSL_get_error(ssl_, rv); 1354 int err = SSL_get_error(ssl_, rv);
1357 return MapOpenSSLError(err, err_tracer); 1355 return MapOpenSSLError(err, err_tracer);
1358 } 1356 }
1359 1357
1360 } // namespace net 1358 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698