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 // 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 Loading... |
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 Loading... |
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 |
OLD | NEW |