| Index: chrome/browser/ui/website_settings/website_settings.cc
|
| diff --git a/chrome/browser/ui/website_settings/website_settings.cc b/chrome/browser/ui/website_settings/website_settings.cc
|
| index ab82b18234b9c24adb85eecbda88d356a898fd18..224ded9d20e22e9a18497c4e3c1e8ee889ad93e0 100644
|
| --- a/chrome/browser/ui/website_settings/website_settings.cc
|
| +++ b/chrome/browser/ui/website_settings/website_settings.cc
|
| @@ -89,6 +89,7 @@ WebsiteSettings::WebsiteSettings(
|
| site_identity_status_(SITE_IDENTITY_STATUS_UNKNOWN),
|
| cert_id_(0),
|
| site_connection_status_(SITE_CONNECTION_STATUS_UNKNOWN),
|
| + cert_transparency_status_(CERT_TRANSPARENCY_STATUS_UNKNOWN),
|
| cert_store_(cert_store),
|
| content_settings_(profile->GetHostContentSettingsMap()) {
|
| Init(profile, url, ssl);
|
| @@ -362,6 +363,33 @@ void WebsiteSettings::Init(Profile* profile,
|
| }
|
| }
|
|
|
| +
|
| + // Certificate Transparency: Priority for indicators:
|
| + // 1. Has valid SCT from known log.
|
| + // 2. Has SCT which could not be verified from a known log.
|
| + // 3. Has SCT(s) from unknown logs
|
| + // 4. No CT information
|
| + if (ssl.cert_id) {
|
| + if (ssl.cert_status & net::CERT_STATUS_HAS_VALID_SCT) {
|
| + cert_transparency_status_ = CERT_TRANSPARENCY_STATUS_HAS_VALID_SCT;
|
| + cert_transparency_details_.assign(l10n_util::GetStringUTF16(
|
| + IDS_PAGE_INFO_SECURITY_TAB_CT_VERIFIED));
|
| + } else if (ssl.cert_status & net::CERT_STATUS_HAS_SCT_FROM_KNOWN_LOG) {
|
| + cert_transparency_status_ = CERT_TRANSPARENCY_STATUS_HAS_SCT;
|
| + cert_transparency_details_.assign(l10n_util::GetStringUTF16(
|
| + IDS_PAGE_INFO_SECURITY_TAB_CT_NOT_VERIFIED));
|
| + } else if (ssl.cert_status & net::CERT_STATUS_HAS_ANY_SCT) {
|
| + cert_transparency_status_ = CERT_TRANSPARENCY_STATUS_HAS_SCT;
|
| + cert_transparency_details_.assign(l10n_util::GetStringUTF16(
|
| + IDS_PAGE_INFO_SECURITY_TAB_CT_HAS_SCT));
|
| + } else {
|
| + // No CT information
|
| + cert_transparency_status_ = CERT_TRANSPARENCY_STATUS_UNKNOWN;
|
| + cert_transparency_details_.assign(l10n_util::GetStringUTF16(
|
| + IDS_PAGE_INFO_SECURITY_TAB_CT_NO_SCT));
|
| + }
|
| + }
|
| +
|
| // Site Connection
|
| // We consider anything less than 80 bits encryption to be weak encryption.
|
| // TODO(wtc): Bug 1198735: report mixed/unsafe content for unencrypted and
|
| @@ -592,6 +620,10 @@ void WebsiteSettings::PresentSiteIdentity() {
|
| info.identity_status_description =
|
| UTF16ToUTF8(site_identity_details_);
|
| info.cert_id = cert_id_;
|
| +
|
| + info.cert_transparency_status = cert_transparency_status_;
|
| + info.cert_transparency_description = UTF16ToUTF8(cert_transparency_details_);
|
| +
|
| ui_->SetIdentityInfo(info);
|
| }
|
|
|
|
|