Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef NET_CERT_OCSP_VERIFY_RESULT_H | |
| 6 #define NET_CERT_OCSP_VERIFY_RESULT_H | |
| 7 | |
| 8 #include <vector> | |
| 9 | |
| 10 #include "base/optional.h" | |
| 11 #include "net/base/net_export.h" | |
| 12 #include "net/cert/internal/parse_ocsp.h" | |
| 13 | |
| 14 namespace net { | |
| 15 | |
| 16 class NET_EXPORT OCSPVerifyResult { | |
| 17 public: | |
| 18 OCSPVerifyResult(); | |
| 19 OCSPVerifyResult(const OCSPVerifyResult&); | |
| 20 ~OCSPVerifyResult(); | |
| 21 | |
| 22 void Reset(); | |
| 23 | |
| 24 enum ResponseStatus { | |
| 25 // No OCSPResponse was stapled. | |
| 26 MISSING, | |
| 27 | |
| 28 // An OCSP response was stapled and matched the certificate. | |
| 29 PROVIDED, | |
| 30 | |
| 31 // The stapled OCSP response did not have a SUCCESFUL status. | |
| 32 BAD_RESPONSE, | |
| 33 | |
| 34 // At least one OCSPSingleResponse was stapled, but none matched the | |
| 35 // certificate. | |
| 36 NO_MATCHING_RESPONSE, | |
| 37 | |
| 38 // The OCSPResponse structure could not be parsed. | |
| 39 PARSE_RESPONSE, | |
| 40 | |
| 41 // The OCSPResponseData structure could not be parsed. | |
| 42 PARSE_RESPONSE_DATA, | |
| 43 }; | |
| 44 | |
| 45 // Stores the validity of a stapled OCSPSingleResponse. | |
| 46 struct SingleResult { | |
| 47 bool did_parse = false; | |
| 48 bool is_date_valid = false; | |
| 49 bool is_correct_certificate = false; | |
| 50 OCSPCertStatus::Status status = OCSPCertStatus::Status::UNKNOWN; | |
| 51 }; | |
| 52 | |
| 53 ResponseStatus response_status; | |
| 54 | |
| 55 // The strictest CertStatus matching the certificate. Only present if | |
| 56 // |response_status| = OK. | |
| 57 base::Optional<OCSPCertStatus::Status> cert_status; | |
|
Ryan Sleevi
2016/06/23 22:11:52
Reviewer Feels time: I'd really love to avoid intr
| |
| 58 | |
| 59 // Any stapled responses. | |
|
Ryan Sleevi
2016/06/23 22:11:52
From the doc and discussion with Emily, I think th
| |
| 60 std::vector<SingleResult> stapled_responses; | |
| 61 }; | |
| 62 | |
| 63 } // namespace net | |
| 64 | |
| 65 #endif // NET_CERT_OCSP_VERIFY_RESULT_H | |
| OLD | NEW |