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

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: Rebase?! In our moment of triumph?! Created 6 years, 10 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
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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
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_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY: 50 case ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY:
51 return CERT_STATUS_WEAK_DH_KEY; 51 return CERT_STATUS_WEAK_DH_KEY;
52 case ERR_CERT_NAME_CONSTRAINT_VIOLATION: 52 case ERR_CERT_NAME_CONSTRAINT_VIOLATION:
53 return CERT_STATUS_NAME_CONSTRAINT_VIOLATION; 53 return CERT_STATUS_NAME_CONSTRAINT_VIOLATION;
54 case ERR_CERT_TOO_LONG_VALIDITY:
55 return CERT_STATUS_TOO_LONG_VALIDITY;
54 default: 56 default:
55 return 0; 57 return 0;
56 } 58 }
57 } 59 }
58 60
59 int MapCertStatusToNetError(CertStatus cert_status) { 61 int MapCertStatusToNetError(CertStatus cert_status) {
60 // A certificate may have multiple errors. We report the most 62 // A certificate may have multiple errors. We report the most
61 // serious error. 63 // serious error.
62 64
63 // Unrecoverable errors 65 // Unrecoverable errors
(...skipping 14 matching lines...) Expand all
78 // CERT_STATUS_NON_UNIQUE_NAME is intentionally not mapped to an error. 80 // CERT_STATUS_NON_UNIQUE_NAME is intentionally not mapped to an error.
79 // It is treated as just a warning and used to degrade the SSL UI. 81 // It is treated as just a warning and used to degrade the SSL UI.
80 if (cert_status & CERT_STATUS_NAME_CONSTRAINT_VIOLATION) 82 if (cert_status & CERT_STATUS_NAME_CONSTRAINT_VIOLATION)
81 return ERR_CERT_NAME_CONSTRAINT_VIOLATION; 83 return ERR_CERT_NAME_CONSTRAINT_VIOLATION;
82 if (cert_status & CERT_STATUS_WEAK_SIGNATURE_ALGORITHM) 84 if (cert_status & CERT_STATUS_WEAK_SIGNATURE_ALGORITHM)
83 return ERR_CERT_WEAK_SIGNATURE_ALGORITHM; 85 return ERR_CERT_WEAK_SIGNATURE_ALGORITHM;
84 if (cert_status & CERT_STATUS_WEAK_KEY) 86 if (cert_status & CERT_STATUS_WEAK_KEY)
85 return ERR_CERT_WEAK_KEY; 87 return ERR_CERT_WEAK_KEY;
86 if (cert_status & CERT_STATUS_DATE_INVALID) 88 if (cert_status & CERT_STATUS_DATE_INVALID)
87 return ERR_CERT_DATE_INVALID; 89 return ERR_CERT_DATE_INVALID;
90 if (cert_status & CERT_STATUS_TOO_LONG_VALIDITY)
91 return ERR_CERT_TOO_LONG_VALIDITY;
88 92
89 // Unknown status. Give it the benefit of the doubt. 93 // Unknown status. Give it the benefit of the doubt.
90 if (cert_status & CERT_STATUS_UNABLE_TO_CHECK_REVOCATION) 94 if (cert_status & CERT_STATUS_UNABLE_TO_CHECK_REVOCATION)
91 return ERR_CERT_UNABLE_TO_CHECK_REVOCATION; 95 return ERR_CERT_UNABLE_TO_CHECK_REVOCATION;
92 if (cert_status & CERT_STATUS_NO_REVOCATION_MECHANISM) 96 if (cert_status & CERT_STATUS_NO_REVOCATION_MECHANISM)
93 return ERR_CERT_NO_REVOCATION_MECHANISM; 97 return ERR_CERT_NO_REVOCATION_MECHANISM;
94 98
95 NOTREACHED(); 99 NOTREACHED();
96 return ERR_UNEXPECTED; 100 return ERR_UNEXPECTED;
97 } 101 }
98 102
99 } // namespace net 103 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698