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

Side by Side Diff: net/cert/cert_status_flags.cc

Issue 20628006: Reject certificates that are valid for too long. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Don't use arithmetic expressions in shell script. Created 6 years, 1 month 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "net/cert/cert_status_flags.h" 5 #include "net/cert/cert_status_flags.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "net/base/net_errors.h" 8 #include "net/base/net_errors.h"
9 9
10 namespace net { 10 namespace net {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 case ERR_CERT_WEAK_SIGNATURE_ALGORITHM: 42 case ERR_CERT_WEAK_SIGNATURE_ALGORITHM:
43 return CERT_STATUS_WEAK_SIGNATURE_ALGORITHM; 43 return CERT_STATUS_WEAK_SIGNATURE_ALGORITHM;
44 case ERR_CERT_NON_UNIQUE_NAME: 44 case ERR_CERT_NON_UNIQUE_NAME:
45 return CERT_STATUS_NON_UNIQUE_NAME; 45 return CERT_STATUS_NON_UNIQUE_NAME;
46 case ERR_CERT_WEAK_KEY: 46 case ERR_CERT_WEAK_KEY:
47 return CERT_STATUS_WEAK_KEY; 47 return CERT_STATUS_WEAK_KEY;
48 case ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN: 48 case ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN:
49 return CERT_STATUS_PINNED_KEY_MISSING; 49 return CERT_STATUS_PINNED_KEY_MISSING;
50 case ERR_CERT_NAME_CONSTRAINT_VIOLATION: 50 case ERR_CERT_NAME_CONSTRAINT_VIOLATION:
51 return CERT_STATUS_NAME_CONSTRAINT_VIOLATION; 51 return CERT_STATUS_NAME_CONSTRAINT_VIOLATION;
52 case ERR_CERT_VALIDITY_TOO_LONG:
53 return CERT_STATUS_VALIDITY_TOO_LONG;
52 default: 54 default:
53 return 0; 55 return 0;
54 } 56 }
55 } 57 }
56 58
57 int MapCertStatusToNetError(CertStatus cert_status) { 59 int MapCertStatusToNetError(CertStatus cert_status) {
58 // A certificate may have multiple errors. We report the most 60 // A certificate may have multiple errors. We report the most
59 // serious error. 61 // serious error.
60 62
61 // Unrecoverable errors 63 // Unrecoverable errors
(...skipping 12 matching lines...) Expand all
74 // CERT_STATUS_NON_UNIQUE_NAME is intentionally not mapped to an error. 76 // CERT_STATUS_NON_UNIQUE_NAME is intentionally not mapped to an error.
75 // It is treated as just a warning and used to degrade the SSL UI. 77 // It is treated as just a warning and used to degrade the SSL UI.
76 if (cert_status & CERT_STATUS_NAME_CONSTRAINT_VIOLATION) 78 if (cert_status & CERT_STATUS_NAME_CONSTRAINT_VIOLATION)
77 return ERR_CERT_NAME_CONSTRAINT_VIOLATION; 79 return ERR_CERT_NAME_CONSTRAINT_VIOLATION;
78 if (cert_status & CERT_STATUS_WEAK_SIGNATURE_ALGORITHM) 80 if (cert_status & CERT_STATUS_WEAK_SIGNATURE_ALGORITHM)
79 return ERR_CERT_WEAK_SIGNATURE_ALGORITHM; 81 return ERR_CERT_WEAK_SIGNATURE_ALGORITHM;
80 if (cert_status & CERT_STATUS_WEAK_KEY) 82 if (cert_status & CERT_STATUS_WEAK_KEY)
81 return ERR_CERT_WEAK_KEY; 83 return ERR_CERT_WEAK_KEY;
82 if (cert_status & CERT_STATUS_DATE_INVALID) 84 if (cert_status & CERT_STATUS_DATE_INVALID)
83 return ERR_CERT_DATE_INVALID; 85 return ERR_CERT_DATE_INVALID;
86 if (cert_status & CERT_STATUS_VALIDITY_TOO_LONG)
87 return ERR_CERT_VALIDITY_TOO_LONG;
84 88
85 // Unknown status. Give it the benefit of the doubt. 89 // Unknown status. Give it the benefit of the doubt.
86 if (cert_status & CERT_STATUS_UNABLE_TO_CHECK_REVOCATION) 90 if (cert_status & CERT_STATUS_UNABLE_TO_CHECK_REVOCATION)
87 return ERR_CERT_UNABLE_TO_CHECK_REVOCATION; 91 return ERR_CERT_UNABLE_TO_CHECK_REVOCATION;
88 if (cert_status & CERT_STATUS_NO_REVOCATION_MECHANISM) 92 if (cert_status & CERT_STATUS_NO_REVOCATION_MECHANISM)
89 return ERR_CERT_NO_REVOCATION_MECHANISM; 93 return ERR_CERT_NO_REVOCATION_MECHANISM;
90 94
91 NOTREACHED(); 95 NOTREACHED();
92 return ERR_UNEXPECTED; 96 return ERR_UNEXPECTED;
93 } 97 }
94 98
95 } // namespace net 99 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698