Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Side by Side Diff: chrome/browser/ssl/ssl_error_info.cc

Issue 165504: Add new certificate error code... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Upload before checkin Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ssl/ssl_error_info.h ('k') | chrome/browser/ssl/ssl_policy.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "chrome/browser/cert_store.h" 9 #include "chrome/browser/cert_store.h"
10 #include "chrome/common/time_format.h" 10 #include "chrome/common/time_format.h"
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 l10n_util::GetString(IDS_CERT_ERROR_EXTRA_INFO_1)); 146 l10n_util::GetString(IDS_CERT_ERROR_EXTRA_INFO_1));
147 extra_info.push_back( 147 extra_info.push_back(
148 l10n_util::GetString(IDS_CERT_ERROR_REVOKED_CERT_EXTRA_INFO_2)); 148 l10n_util::GetString(IDS_CERT_ERROR_REVOKED_CERT_EXTRA_INFO_2));
149 break; 149 break;
150 case CERT_INVALID: 150 case CERT_INVALID:
151 title = l10n_util::GetString(IDS_CERT_ERROR_INVALID_CERT_TITLE); 151 title = l10n_util::GetString(IDS_CERT_ERROR_INVALID_CERT_TITLE);
152 details = l10n_util::GetString(IDS_CERT_ERROR_INVALID_CERT_DETAILS); 152 details = l10n_util::GetString(IDS_CERT_ERROR_INVALID_CERT_DETAILS);
153 short_description = 153 short_description =
154 l10n_util::GetString(IDS_CERT_ERROR_INVALID_CERT_DESCRIPTION); 154 l10n_util::GetString(IDS_CERT_ERROR_INVALID_CERT_DESCRIPTION);
155 break; 155 break;
156 case CERT_WEAK_SIGNATURE_ALGORITHM:
157 title =
158 l10n_util::GetString(IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_TITLE);
159 details = l10n_util::GetStringF(
160 IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_DETAILS,
161 UTF8ToWide(request_url.host()));
162 short_description = l10n_util::GetString(
163 IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_DESCRIPTION);
164 extra_info.push_back(
165 l10n_util::GetString(IDS_CERT_ERROR_EXTRA_INFO_1));
166 extra_info.push_back(
167 l10n_util::GetString(
168 IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_EXTRA_INFO_2));
169 break;
156 case MIXED_CONTENTS: 170 case MIXED_CONTENTS:
157 title = l10n_util::GetString(IDS_SSL_MIXED_CONTENT_TITLE); 171 title = l10n_util::GetString(IDS_SSL_MIXED_CONTENT_TITLE);
158 details = l10n_util::GetString(IDS_SSL_MIXED_CONTENT_DETAILS); 172 details = l10n_util::GetString(IDS_SSL_MIXED_CONTENT_DETAILS);
159 short_description = 173 short_description =
160 l10n_util::GetString(IDS_SSL_MIXED_CONTENT_DESCRIPTION); 174 l10n_util::GetString(IDS_SSL_MIXED_CONTENT_DESCRIPTION);
161 break; 175 break;
162 case UNSAFE_CONTENTS: 176 case UNSAFE_CONTENTS:
163 title = l10n_util::GetString(IDS_SSL_UNSAFE_CONTENT_TITLE); 177 title = l10n_util::GetString(IDS_SSL_UNSAFE_CONTENT_TITLE);
164 details = l10n_util::GetString(IDS_SSL_UNSAFE_CONTENT_DETAILS); 178 details = l10n_util::GetString(IDS_SSL_UNSAFE_CONTENT_DETAILS);
165 short_description = 179 short_description =
(...skipping 26 matching lines...) Expand all
192 case net::ERR_CERT_CONTAINS_ERRORS: 206 case net::ERR_CERT_CONTAINS_ERRORS:
193 return CERT_CONTAINS_ERRORS; 207 return CERT_CONTAINS_ERRORS;
194 case net::ERR_CERT_NO_REVOCATION_MECHANISM: 208 case net::ERR_CERT_NO_REVOCATION_MECHANISM:
195 return CERT_NO_REVOCATION_MECHANISM; 209 return CERT_NO_REVOCATION_MECHANISM;
196 case net::ERR_CERT_UNABLE_TO_CHECK_REVOCATION: 210 case net::ERR_CERT_UNABLE_TO_CHECK_REVOCATION:
197 return CERT_UNABLE_TO_CHECK_REVOCATION; 211 return CERT_UNABLE_TO_CHECK_REVOCATION;
198 case net::ERR_CERT_REVOKED: 212 case net::ERR_CERT_REVOKED:
199 return CERT_REVOKED; 213 return CERT_REVOKED;
200 case net::ERR_CERT_INVALID: 214 case net::ERR_CERT_INVALID:
201 return CERT_INVALID; 215 return CERT_INVALID;
216 case net::ERR_CERT_WEAK_SIGNATURE_ALGORITHM:
217 return CERT_WEAK_SIGNATURE_ALGORITHM;
202 default: 218 default:
203 NOTREACHED(); 219 NOTREACHED();
204 return UNKNOWN; 220 return UNKNOWN;
205 } 221 }
206 } 222 }
207 223
208 // static 224 // static
209 int SSLErrorInfo::GetErrorsForCertStatus(int cert_id, 225 int SSLErrorInfo::GetErrorsForCertStatus(int cert_id,
210 int cert_status, 226 int cert_status,
211 const GURL& url, 227 const GURL& url,
212 std::vector<SSLErrorInfo>* errors) { 228 std::vector<SSLErrorInfo>* errors) {
213 const int kErrorFlags[] = { 229 const int kErrorFlags[] = {
214 net::CERT_STATUS_COMMON_NAME_INVALID, 230 net::CERT_STATUS_COMMON_NAME_INVALID,
215 net::CERT_STATUS_DATE_INVALID, 231 net::CERT_STATUS_DATE_INVALID,
216 net::CERT_STATUS_AUTHORITY_INVALID, 232 net::CERT_STATUS_AUTHORITY_INVALID,
217 net::CERT_STATUS_NO_REVOCATION_MECHANISM, 233 net::CERT_STATUS_NO_REVOCATION_MECHANISM,
218 net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION, 234 net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION,
219 net::CERT_STATUS_REVOKED, 235 net::CERT_STATUS_REVOKED,
220 net::CERT_STATUS_INVALID 236 net::CERT_STATUS_INVALID,
237 net::CERT_STATUS_WEAK_SIGNATURE_ALGORITHM
221 }; 238 };
222 239
223 const ErrorType kErrorTypes[] = { 240 const ErrorType kErrorTypes[] = {
224 CERT_COMMON_NAME_INVALID, 241 CERT_COMMON_NAME_INVALID,
225 CERT_DATE_INVALID, 242 CERT_DATE_INVALID,
226 CERT_AUTHORITY_INVALID, 243 CERT_AUTHORITY_INVALID,
227 CERT_NO_REVOCATION_MECHANISM, 244 CERT_NO_REVOCATION_MECHANISM,
228 CERT_UNABLE_TO_CHECK_REVOCATION, 245 CERT_UNABLE_TO_CHECK_REVOCATION,
229 CERT_REVOKED, 246 CERT_REVOKED,
230 CERT_INVALID 247 CERT_INVALID,
248 CERT_WEAK_SIGNATURE_ALGORITHM
231 }; 249 };
232 DCHECK(arraysize(kErrorFlags) == arraysize(kErrorTypes)); 250 DCHECK(arraysize(kErrorFlags) == arraysize(kErrorTypes));
233 251
234 scoped_refptr<net::X509Certificate> cert = NULL; 252 scoped_refptr<net::X509Certificate> cert = NULL;
235 int count = 0; 253 int count = 0;
236 for (size_t i = 0; i < arraysize(kErrorFlags); ++i) { 254 for (size_t i = 0; i < arraysize(kErrorFlags); ++i) {
237 if (cert_status & kErrorFlags[i]) { 255 if (cert_status & kErrorFlags[i]) {
238 count++; 256 count++;
239 if (!cert.get()) { 257 if (!cert.get()) {
240 bool r = CertStore::GetSharedInstance()->RetrieveCert(cert_id, &cert); 258 bool r = CertStore::GetSharedInstance()->RetrieveCert(cert_id, &cert);
241 DCHECK(r); 259 DCHECK(r);
242 } 260 }
243 if (errors) 261 if (errors)
244 errors->push_back(SSLErrorInfo::CreateError(kErrorTypes[i], cert, url)); 262 errors->push_back(SSLErrorInfo::CreateError(kErrorTypes[i], cert, url));
245 } 263 }
246 } 264 }
247 return count; 265 return count;
248 } 266 }
OLDNEW
« no previous file with comments | « chrome/browser/ssl/ssl_error_info.h ('k') | chrome/browser/ssl/ssl_policy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698