| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_SSL_SSL_INFO_H_ | 5 #ifndef NET_SSL_SSL_INFO_H_ |
| 6 #define NET_SSL_SSL_INFO_H_ | 6 #define NET_SSL_SSL_INFO_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| 11 #include "net/base/net_export.h" | 11 #include "net/base/net_export.h" |
| 12 #include "net/cert/cert_status_flags.h" | 12 #include "net/cert/cert_status_flags.h" |
| 13 #include "net/cert/ct_verify_result.h" | 13 #include "net/cert/ct_verify_result.h" |
| 14 #include "net/cert/internal/parse_ocsp.h" |
| 14 #include "net/cert/sct_status_flags.h" | 15 #include "net/cert/sct_status_flags.h" |
| 15 #include "net/cert/x509_cert_types.h" | 16 #include "net/cert/x509_cert_types.h" |
| 16 #include "net/ssl/signed_certificate_timestamp_and_status.h" | 17 #include "net/ssl/signed_certificate_timestamp_and_status.h" |
| 17 #include "net/ssl/ssl_config.h" | 18 #include "net/ssl/ssl_config.h" |
| 18 | 19 |
| 19 namespace net { | 20 namespace net { |
| 20 | 21 |
| 21 namespace ct { | 22 namespace ct { |
| 22 | 23 |
| 23 enum class CertPolicyCompliance; | 24 enum class CertPolicyCompliance; |
| 24 enum class EVPolicyCompliance; | 25 enum class EVPolicyCompliance; |
| 25 | 26 |
| 26 } // namespace ct | 27 } // namespace ct |
| 27 | 28 |
| 28 class X509Certificate; | 29 class X509Certificate; |
| 29 | 30 |
| 30 // SSL connection info. | 31 // SSL connection info. |
| 31 // This is really a struct. All members are public. | 32 // This is really a struct. All members are public. |
| 32 class NET_EXPORT SSLInfo { | 33 class NET_EXPORT SSLInfo { |
| 33 public: | 34 public: |
| 34 // HandshakeType enumerates the possible resumption cases after an SSL | 35 // HandshakeType enumerates the possible resumption cases after an SSL |
| 35 // handshake. | 36 // handshake. |
| 36 enum HandshakeType { | 37 enum HandshakeType { |
| 37 HANDSHAKE_UNKNOWN = 0, | 38 HANDSHAKE_UNKNOWN = 0, |
| 38 HANDSHAKE_RESUME, // we resumed a previous session. | 39 HANDSHAKE_RESUME, // we resumed a previous session. |
| 39 HANDSHAKE_FULL, // we negotiated a new session. | 40 HANDSHAKE_FULL, // we negotiated a new session. |
| 40 }; | 41 }; |
| 41 | 42 |
| 43 struct OCSPStaple { |
| 44 OCSPStaple(); |
| 45 ~OCSPStaple(); |
| 46 |
| 47 bool is_valid_date; |
| 48 bool is_correct_certificate; |
| 49 OCSPCertStatus::Status status; |
| 50 }; |
| 51 |
| 42 SSLInfo(); | 52 SSLInfo(); |
| 43 SSLInfo(const SSLInfo& info); | 53 SSLInfo(const SSLInfo& info); |
| 44 ~SSLInfo(); | 54 ~SSLInfo(); |
| 45 SSLInfo& operator=(const SSLInfo& info); | 55 SSLInfo& operator=(const SSLInfo& info); |
| 46 | 56 |
| 47 void Reset(); | 57 void Reset(); |
| 48 | 58 |
| 49 bool is_valid() const { return cert.get() != NULL; } | 59 bool is_valid() const { return cert.get() != NULL; } |
| 50 | 60 |
| 51 // Adds the specified |error| to the cert status. | 61 // Adds the specified |error| to the cert status. |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 | 144 |
| 135 // Whether the connection complied with the CT EV policy, and if not, | 145 // Whether the connection complied with the CT EV policy, and if not, |
| 136 // why not. Only meaningful if |ct_compliance_details_available| is | 146 // why not. Only meaningful if |ct_compliance_details_available| is |
| 137 // true. | 147 // true. |
| 138 ct::EVPolicyCompliance ct_ev_policy_compliance; | 148 ct::EVPolicyCompliance ct_ev_policy_compliance; |
| 139 | 149 |
| 140 // Whether the connection complied with the CT cert policy, and if | 150 // Whether the connection complied with the CT cert policy, and if |
| 141 // not, why not. Only meaningful it |ct_compliance_details_available| | 151 // not, why not. Only meaningful it |ct_compliance_details_available| |
| 142 // is true. | 152 // is true. |
| 143 ct::CertPolicyCompliance ct_cert_policy_compliance; | 153 ct::CertPolicyCompliance ct_cert_policy_compliance; |
| 154 |
| 155 std::vector<OCSPStaple> ocsp_staples; |
| 144 }; | 156 }; |
| 145 | 157 |
| 146 } // namespace net | 158 } // namespace net |
| 147 | 159 |
| 148 #endif // NET_SSL_SSL_INFO_H_ | 160 #endif // NET_SSL_SSL_INFO_H_ |
| OLD | NEW |