OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 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 #ifndef NET_CERT_INTERNAL_PARSE_OCSP_H_ | 5 #ifndef NET_CERT_INTERNAL_PARSE_OCSP_H_ |
6 #define NET_CERT_INTERNAL_PARSE_OCSP_H_ | 6 #define NET_CERT_INTERNAL_PARSE_OCSP_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 // Parses a DER-encoded "OCSPResponse" as specified by RFC 6960. Returns true | 257 // Parses a DER-encoded "OCSPResponse" as specified by RFC 6960. Returns true |
258 // on success and sets the results in |out|. The resulting |out| | 258 // on success and sets the results in |out|. The resulting |out| |
259 // references data from |raw_tlv| and is only valid for the lifetime of | 259 // references data from |raw_tlv| and is only valid for the lifetime of |
260 // |raw_tlv|. | 260 // |raw_tlv|. |
261 // | 261 // |
262 // On failure |out| has an undefined state. Some of its fields may have been | 262 // On failure |out| has an undefined state. Some of its fields may have been |
263 // updated during parsing, whereas others may not have been changed. | 263 // updated during parsing, whereas others may not have been changed. |
264 NET_EXPORT_PRIVATE bool ParseOCSPResponse(const der::Input& raw_tlv, | 264 NET_EXPORT_PRIVATE bool ParseOCSPResponse(const der::Input& raw_tlv, |
265 OCSPResponse* out); | 265 OCSPResponse* out); |
266 | 266 |
267 // Checks the certificate status of |cert| based on the OCSPResponseData | 267 // Checks the certificate status of |cert_tbs_certificate_tlv| based on the |
268 // |response_data| and issuer |issuer| and sets the results in |out|. In the | 268 // OCSPResponseData |response_data| and issuer |issuer_tbs_certificate_tlv| and |
269 // case that there are multiple responses for a given certificate, as a result | 269 // sets the results in |out|. In the case that there are multiple responses for |
270 // of caching or performance (RFC 6960, 4.2.2.3), the strictest response is | 270 // a given certificate, as a result of caching or performance (RFC 6960, |
271 // returned (REVOKED > UNKNOWN > GOOD). | 271 // 4.2.2.3), the strictest response is returned (REVOKED > UNKNOWN > GOOD). |
272 // | 272 // |
273 // On failure |out| has an undefined state. Some of its fields may have been | 273 // On failure |out| has an undefined state. Some of its fields may have been |
274 // updated during parsing, whereas others may not have been changed. | 274 // updated during parsing, whereas others may not have been changed. |
275 NET_EXPORT_PRIVATE bool GetOCSPCertStatus(const OCSPResponseData& response_data, | 275 NET_EXPORT_PRIVATE bool GetOCSPCertStatus( |
276 const ParsedCertificate& issuer, | 276 const OCSPResponseData& response_data, |
277 const ParsedCertificate& cert, | 277 const der::Input& issuer_tbs_certificate_tlv, |
278 OCSPCertStatus* out); | 278 const der::Input& cert_tbs_certificate_tlv, |
| 279 OCSPCertStatus* out); |
279 | 280 |
280 } // namespace net | 281 } // namespace net |
281 | 282 |
282 #endif // NET_CERT_INTERNAL_PARSE_OCSP_H_ | 283 #endif // NET_CERT_INTERNAL_PARSE_OCSP_H_ |
OLD | NEW |