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

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

Issue 1313363003: Expose OpenSSL's key_exchange_info in the content API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Proper #ifdef fix Created 5 years, 3 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
« no previous file with comments | « net/http/http_response_info.cc ('k') | net/ssl/ssl_cipher_suite_names.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <errno.h> 10 #include <errno.h>
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 ssl_info->client_cert_sent = 720 ssl_info->client_cert_sent =
721 ssl_config_.send_client_cert && ssl_config_.client_cert.get(); 721 ssl_config_.send_client_cert && ssl_config_.client_cert.get();
722 ssl_info->channel_id_sent = channel_id_sent_; 722 ssl_info->channel_id_sent = channel_id_sent_;
723 ssl_info->pinning_failure_log = pinning_failure_log_; 723 ssl_info->pinning_failure_log = pinning_failure_log_;
724 724
725 AddSCTInfoToSSLInfo(ssl_info); 725 AddSCTInfoToSSLInfo(ssl_info);
726 726
727 const SSL_CIPHER* cipher = SSL_get_current_cipher(ssl_); 727 const SSL_CIPHER* cipher = SSL_get_current_cipher(ssl_);
728 CHECK(cipher); 728 CHECK(cipher);
729 ssl_info->security_bits = SSL_CIPHER_get_bits(cipher, NULL); 729 ssl_info->security_bits = SSL_CIPHER_get_bits(cipher, NULL);
730 ssl_info->key_exchange_info =
731 SSL_SESSION_get_key_exchange_info(SSL_get_session(ssl_));
730 732
731 ssl_info->connection_status = EncodeSSLConnectionStatus( 733 ssl_info->connection_status = EncodeSSLConnectionStatus(
732 static_cast<uint16>(SSL_CIPHER_get_id(cipher)), 0 /* no compression */, 734 static_cast<uint16>(SSL_CIPHER_get_id(cipher)), 0 /* no compression */,
733 GetNetSSLVersion(ssl_)); 735 GetNetSSLVersion(ssl_));
734 736
735 if (!SSL_get_secure_renegotiation_support(ssl_)) 737 if (!SSL_get_secure_renegotiation_support(ssl_))
736 ssl_info->connection_status |= SSL_CONNECTION_NO_RENEGOTIATION_EXTENSION; 738 ssl_info->connection_status |= SSL_CONNECTION_NO_RENEGOTIATION_EXTENSION;
737 739
738 if (ssl_config_.version_fallback) 740 if (ssl_config_.version_fallback)
739 ssl_info->connection_status |= SSL_CONNECTION_VERSION_FALLBACK; 741 ssl_info->connection_status |= SSL_CONNECTION_VERSION_FALLBACK;
(...skipping 1397 matching lines...) Expand 10 before | Expand all | Expand 10 after
2137 OnHandshakeIOComplete(signature_result_); 2139 OnHandshakeIOComplete(signature_result_);
2138 return; 2140 return;
2139 } 2141 }
2140 2142
2141 // During a renegotiation, either Read or Write calls may be blocked on an 2143 // During a renegotiation, either Read or Write calls may be blocked on an
2142 // asynchronous private key operation. 2144 // asynchronous private key operation.
2143 PumpReadWriteEvents(); 2145 PumpReadWriteEvents();
2144 } 2146 }
2145 2147
2146 } // namespace net 2148 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_response_info.cc ('k') | net/ssl/ssl_cipher_suite_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698