| 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/ssl/ssl_error_info.h" | 5 #include "chrome/browser/ssl/ssl_error_info.h" |
| 6 | 6 |
| 7 #include "base/i18n/time_formatting.h" | 7 #include "base/i18n/time_formatting.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "chrome/common/time_format.h" | 9 #include "chrome/common/time_format.h" |
| 10 #include "content/public/browser/cert_store.h" | 10 #include "content/public/browser/cert_store.h" |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 details = l10n_util::GetStringFUTF16( | 192 details = l10n_util::GetStringFUTF16( |
| 193 IDS_CERT_ERROR_WEAK_KEY_DETAILS, UTF8ToUTF16(request_url.host())); | 193 IDS_CERT_ERROR_WEAK_KEY_DETAILS, UTF8ToUTF16(request_url.host())); |
| 194 short_description = l10n_util::GetStringUTF16( | 194 short_description = l10n_util::GetStringUTF16( |
| 195 IDS_CERT_ERROR_WEAK_KEY_DESCRIPTION); | 195 IDS_CERT_ERROR_WEAK_KEY_DESCRIPTION); |
| 196 extra_info.push_back( | 196 extra_info.push_back( |
| 197 l10n_util::GetStringUTF16(IDS_CERT_ERROR_EXTRA_INFO_1)); | 197 l10n_util::GetStringUTF16(IDS_CERT_ERROR_EXTRA_INFO_1)); |
| 198 extra_info.push_back( | 198 extra_info.push_back( |
| 199 l10n_util::GetStringUTF16( | 199 l10n_util::GetStringUTF16( |
| 200 IDS_CERT_ERROR_WEAK_KEY_EXTRA_INFO_2)); | 200 IDS_CERT_ERROR_WEAK_KEY_EXTRA_INFO_2)); |
| 201 break; | 201 break; |
| 202 case CERT_TOO_LONG_VALIDITY: |
| 203 title = l10n_util::GetStringUTF16(IDS_CERT_ERROR_TOO_LONG_VALIDITY_TITLE); |
| 204 details = l10n_util::GetStringFUTF16( |
| 205 IDS_CERT_ERROR_TOO_LONG_VALIDITY_DETAILS, |
| 206 UTF8ToUTF16(request_url.host())); |
| 207 short_description = l10n_util::GetStringUTF16( |
| 208 IDS_CERT_ERROR_TOO_LONG_VALIDITY_DESCRIPTION); |
| 209 extra_info.push_back( |
| 210 l10n_util::GetStringUTF16(IDS_CERT_ERROR_EXTRA_INFO_1)); |
| 211 extra_info.push_back( |
| 212 l10n_util::GetStringUTF16( |
| 213 IDS_CERT_ERROR_TOO_LONG_VALIDITY_EXTRA_INFO_2)); |
| 214 break; |
| 202 case UNKNOWN: | 215 case UNKNOWN: |
| 203 title = l10n_util::GetStringUTF16(IDS_CERT_ERROR_UNKNOWN_ERROR_TITLE); | 216 title = l10n_util::GetStringUTF16(IDS_CERT_ERROR_UNKNOWN_ERROR_TITLE); |
| 204 details = l10n_util::GetStringUTF16(IDS_CERT_ERROR_UNKNOWN_ERROR_DETAILS); | 217 details = l10n_util::GetStringUTF16(IDS_CERT_ERROR_UNKNOWN_ERROR_DETAILS); |
| 205 short_description = | 218 short_description = |
| 206 l10n_util::GetStringUTF16(IDS_CERT_ERROR_UNKNOWN_ERROR_DESCRIPTION); | 219 l10n_util::GetStringUTF16(IDS_CERT_ERROR_UNKNOWN_ERROR_DESCRIPTION); |
| 207 break; | 220 break; |
| 208 default: | 221 default: |
| 209 NOTREACHED(); | 222 NOTREACHED(); |
| 210 } | 223 } |
| 211 return SSLErrorInfo(title, details, short_description, extra_info); | 224 return SSLErrorInfo(title, details, short_description, extra_info); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 std::vector<SSLErrorInfo>* errors) { | 263 std::vector<SSLErrorInfo>* errors) { |
| 251 const net::CertStatus kErrorFlags[] = { | 264 const net::CertStatus kErrorFlags[] = { |
| 252 net::CERT_STATUS_COMMON_NAME_INVALID, | 265 net::CERT_STATUS_COMMON_NAME_INVALID, |
| 253 net::CERT_STATUS_DATE_INVALID, | 266 net::CERT_STATUS_DATE_INVALID, |
| 254 net::CERT_STATUS_AUTHORITY_INVALID, | 267 net::CERT_STATUS_AUTHORITY_INVALID, |
| 255 net::CERT_STATUS_NO_REVOCATION_MECHANISM, | 268 net::CERT_STATUS_NO_REVOCATION_MECHANISM, |
| 256 net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION, | 269 net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION, |
| 257 net::CERT_STATUS_REVOKED, | 270 net::CERT_STATUS_REVOKED, |
| 258 net::CERT_STATUS_INVALID, | 271 net::CERT_STATUS_INVALID, |
| 259 net::CERT_STATUS_WEAK_SIGNATURE_ALGORITHM, | 272 net::CERT_STATUS_WEAK_SIGNATURE_ALGORITHM, |
| 260 net::CERT_STATUS_WEAK_KEY | 273 net::CERT_STATUS_WEAK_KEY, |
| 274 net::CERT_STATUS_TOO_LONG_VALIDITY |
| 261 }; | 275 }; |
| 262 | 276 |
| 263 const ErrorType kErrorTypes[] = { | 277 const ErrorType kErrorTypes[] = { |
| 264 CERT_COMMON_NAME_INVALID, | 278 CERT_COMMON_NAME_INVALID, |
| 265 CERT_DATE_INVALID, | 279 CERT_DATE_INVALID, |
| 266 CERT_AUTHORITY_INVALID, | 280 CERT_AUTHORITY_INVALID, |
| 267 CERT_NO_REVOCATION_MECHANISM, | 281 CERT_NO_REVOCATION_MECHANISM, |
| 268 CERT_UNABLE_TO_CHECK_REVOCATION, | 282 CERT_UNABLE_TO_CHECK_REVOCATION, |
| 269 CERT_REVOKED, | 283 CERT_REVOKED, |
| 270 CERT_INVALID, | 284 CERT_INVALID, |
| 271 CERT_WEAK_SIGNATURE_ALGORITHM, | 285 CERT_WEAK_SIGNATURE_ALGORITHM, |
| 272 CERT_WEAK_KEY | 286 CERT_WEAK_KEY, |
| 287 CERT_TOO_LONG_VALIDITY |
| 273 }; | 288 }; |
| 274 DCHECK(arraysize(kErrorFlags) == arraysize(kErrorTypes)); | 289 DCHECK(arraysize(kErrorFlags) == arraysize(kErrorTypes)); |
| 275 | 290 |
| 276 scoped_refptr<net::X509Certificate> cert = NULL; | 291 scoped_refptr<net::X509Certificate> cert = NULL; |
| 277 int count = 0; | 292 int count = 0; |
| 278 for (size_t i = 0; i < arraysize(kErrorFlags); ++i) { | 293 for (size_t i = 0; i < arraysize(kErrorFlags); ++i) { |
| 279 if (cert_status & kErrorFlags[i]) { | 294 if (cert_status & kErrorFlags[i]) { |
| 280 count++; | 295 count++; |
| 281 if (!cert.get()) { | 296 if (!cert.get()) { |
| 282 bool r = content::CertStore::GetInstance()->RetrieveCert( | 297 bool r = content::CertStore::GetInstance()->RetrieveCert( |
| 283 cert_id, &cert); | 298 cert_id, &cert); |
| 284 DCHECK(r); | 299 DCHECK(r); |
| 285 } | 300 } |
| 286 if (errors) | 301 if (errors) { |
| 287 errors->push_back( | 302 errors->push_back( |
| 288 SSLErrorInfo::CreateError(kErrorTypes[i], cert.get(), url)); | 303 SSLErrorInfo::CreateError(kErrorTypes[i], cert.get(), url)); |
| 304 } |
| 289 } | 305 } |
| 290 } | 306 } |
| 291 return count; | 307 return count; |
| 292 } | 308 } |
| OLD | NEW |