| 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 |