summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ssl/ssl_error_info.cc
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-14 23:49:19 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-14 23:49:19 +0000
commit0374b299997a8bd265a7f79cc06f79e7892a0ac7 (patch)
treee6df89d8a3dd741026b39442ffed95b30835b075 /chrome/browser/ssl/ssl_error_info.cc
parentb31844be04ffac8e67d5f302c3bad5b28e1dec79 (diff)
downloadchromium_src-0374b299997a8bd265a7f79cc06f79e7892a0ac7.zip
chromium_src-0374b299997a8bd265a7f79cc06f79e7892a0ac7.tar.gz
chromium_src-0374b299997a8bd265a7f79cc06f79e7892a0ac7.tar.bz2
Add new certificate error code
ERR_CERT_WEAK_SIGNATURE_ALGORITHM and certificate status flag CERT_STATUS_WEAK_SIGNATURE_ALGORITHM. Note that I didn't add new load flag LOAD_IGNORE_CERT_WEAK_SIGNATURE_ALGORITHM. Allow users to accept MD2 certificates as certificates signed using a weak signature algorithm. MD4 certificates are still treated as invalid certificates. R=jar,jcampan BUG=http://crbug.com/18725 TEST=none Review URL: http://codereview.chromium.org/165504 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23497 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ssl/ssl_error_info.cc')
-rw-r--r--chrome/browser/ssl/ssl_error_info.cc22
1 files changed, 20 insertions, 2 deletions
diff --git a/chrome/browser/ssl/ssl_error_info.cc b/chrome/browser/ssl/ssl_error_info.cc
index d47529a..fd54bd4 100644
--- a/chrome/browser/ssl/ssl_error_info.cc
+++ b/chrome/browser/ssl/ssl_error_info.cc
@@ -153,6 +153,20 @@ SSLErrorInfo SSLErrorInfo::CreateError(ErrorType error_type,
short_description =
l10n_util::GetString(IDS_CERT_ERROR_INVALID_CERT_DESCRIPTION);
break;
+ case CERT_WEAK_SIGNATURE_ALGORITHM:
+ title =
+ l10n_util::GetString(IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_TITLE);
+ details = l10n_util::GetStringF(
+ IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_DETAILS,
+ UTF8ToWide(request_url.host()));
+ short_description = l10n_util::GetString(
+ IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_DESCRIPTION);
+ extra_info.push_back(
+ l10n_util::GetString(IDS_CERT_ERROR_EXTRA_INFO_1));
+ extra_info.push_back(
+ l10n_util::GetString(
+ IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_EXTRA_INFO_2));
+ break;
case MIXED_CONTENTS:
title = l10n_util::GetString(IDS_SSL_MIXED_CONTENT_TITLE);
details = l10n_util::GetString(IDS_SSL_MIXED_CONTENT_DETAILS);
@@ -199,6 +213,8 @@ SSLErrorInfo::ErrorType SSLErrorInfo::NetErrorToErrorType(int net_error) {
return CERT_REVOKED;
case net::ERR_CERT_INVALID:
return CERT_INVALID;
+ case net::ERR_CERT_WEAK_SIGNATURE_ALGORITHM:
+ return CERT_WEAK_SIGNATURE_ALGORITHM;
default:
NOTREACHED();
return UNKNOWN;
@@ -217,7 +233,8 @@ int SSLErrorInfo::GetErrorsForCertStatus(int cert_id,
net::CERT_STATUS_NO_REVOCATION_MECHANISM,
net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION,
net::CERT_STATUS_REVOKED,
- net::CERT_STATUS_INVALID
+ net::CERT_STATUS_INVALID,
+ net::CERT_STATUS_WEAK_SIGNATURE_ALGORITHM
};
const ErrorType kErrorTypes[] = {
@@ -227,7 +244,8 @@ int SSLErrorInfo::GetErrorsForCertStatus(int cert_id,
CERT_NO_REVOCATION_MECHANISM,
CERT_UNABLE_TO_CHECK_REVOCATION,
CERT_REVOKED,
- CERT_INVALID
+ CERT_INVALID,
+ CERT_WEAK_SIGNATURE_ALGORITHM
};
DCHECK(arraysize(kErrorFlags) == arraysize(kErrorTypes));