| 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 #include "chrome/browser/ui/website_settings/website_settings.h" | 5 #include "chrome/browser/ui/website_settings/website_settings.h" |
| 6 | 6 |
| 7 #include <openssl/ssl.h> | |
| 8 #include <stddef.h> | 7 #include <stddef.h> |
| 9 #include <stdint.h> | 8 #include <stdint.h> |
| 10 | 9 |
| 11 #include <string> | 10 #include <string> |
| 12 #include <vector> | 11 #include <vector> |
| 13 | 12 |
| 14 #include "base/command_line.h" | 13 #include "base/command_line.h" |
| 15 #include "base/i18n/time_formatting.h" | 14 #include "base/i18n/time_formatting.h" |
| 16 #include "base/macros.h" | 15 #include "base/macros.h" |
| 17 #include "base/metrics/field_trial.h" | 16 #include "base/metrics/field_trial.h" |
| (...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 641 net::SSLVersionToString(&ssl_version_str, ssl_version); | 640 net::SSLVersionToString(&ssl_version_str, ssl_version); |
| 642 site_connection_details_ += ASCIIToUTF16("\n\n"); | 641 site_connection_details_ += ASCIIToUTF16("\n\n"); |
| 643 site_connection_details_ += l10n_util::GetStringFUTF16( | 642 site_connection_details_ += l10n_util::GetStringFUTF16( |
| 644 IDS_PAGE_INFO_SECURITY_TAB_SSL_VERSION, | 643 IDS_PAGE_INFO_SECURITY_TAB_SSL_VERSION, |
| 645 ASCIIToUTF16(ssl_version_str)); | 644 ASCIIToUTF16(ssl_version_str)); |
| 646 | 645 |
| 647 bool no_renegotiation = | 646 bool no_renegotiation = |
| 648 (security_info.connection_status & | 647 (security_info.connection_status & |
| 649 net::SSL_CONNECTION_NO_RENEGOTIATION_EXTENSION) != 0; | 648 net::SSL_CONNECTION_NO_RENEGOTIATION_EXTENSION) != 0; |
| 650 const char *key_exchange, *cipher, *mac; | 649 const char *key_exchange, *cipher, *mac; |
| 651 bool is_aead, is_tls13; | 650 bool is_aead; |
| 652 net::SSLCipherSuiteToStrings(&key_exchange, &cipher, &mac, &is_aead, | 651 net::SSLCipherSuiteToStrings( |
| 653 &is_tls13, cipher_suite); | 652 &key_exchange, &cipher, &mac, &is_aead, cipher_suite); |
| 654 | 653 |
| 655 site_connection_details_ += ASCIIToUTF16("\n\n"); | 654 site_connection_details_ += ASCIIToUTF16("\n\n"); |
| 656 if (is_aead) { | 655 if (is_aead) { |
| 657 if (is_tls13) { | |
| 658 // For TLS 1.3 ciphers, report the group (historically, curve) as the | |
| 659 // key exchange. | |
| 660 key_exchange = SSL_get_curve_name(security_info.key_exchange_group); | |
| 661 if (!key_exchange) { | |
| 662 NOTREACHED(); | |
| 663 key_exchange = ""; | |
| 664 } | |
| 665 } | |
| 666 site_connection_details_ += l10n_util::GetStringFUTF16( | 656 site_connection_details_ += l10n_util::GetStringFUTF16( |
| 667 IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTION_DETAILS_AEAD, | 657 IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTION_DETAILS_AEAD, |
| 668 ASCIIToUTF16(cipher), ASCIIToUTF16(key_exchange)); | 658 ASCIIToUTF16(cipher), ASCIIToUTF16(key_exchange)); |
| 669 } else { | 659 } else { |
| 670 site_connection_details_ += l10n_util::GetStringFUTF16( | 660 site_connection_details_ += l10n_util::GetStringFUTF16( |
| 671 IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTION_DETAILS, | 661 IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTION_DETAILS, |
| 672 ASCIIToUTF16(cipher), ASCIIToUTF16(mac), ASCIIToUTF16(key_exchange)); | 662 ASCIIToUTF16(cipher), ASCIIToUTF16(mac), ASCIIToUTF16(key_exchange)); |
| 673 } | 663 } |
| 674 | 664 |
| 675 if (ssl_version == net::SSL_CONNECTION_VERSION_SSL3 && | 665 if (ssl_version == net::SSL_CONNECTION_VERSION_SSL3 && |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 817 info.connection_status = site_connection_status_; | 807 info.connection_status = site_connection_status_; |
| 818 info.connection_status_description = | 808 info.connection_status_description = |
| 819 UTF16ToUTF8(site_connection_details_); | 809 UTF16ToUTF8(site_connection_details_); |
| 820 info.identity_status = site_identity_status_; | 810 info.identity_status = site_identity_status_; |
| 821 info.identity_status_description = | 811 info.identity_status_description = |
| 822 UTF16ToUTF8(site_identity_details_); | 812 UTF16ToUTF8(site_identity_details_); |
| 823 info.certificate = certificate_; | 813 info.certificate = certificate_; |
| 824 info.show_ssl_decision_revoke_button = show_ssl_decision_revoke_button_; | 814 info.show_ssl_decision_revoke_button = show_ssl_decision_revoke_button_; |
| 825 ui_->SetIdentityInfo(info); | 815 ui_->SetIdentityInfo(info); |
| 826 } | 816 } |
| OLD | NEW |