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/sct_status_flags.h" | 14 #include "net/cert/sct_status_flags.h" |
14 #include "net/cert/x509_cert_types.h" | 15 #include "net/cert/x509_cert_types.h" |
15 #include "net/ssl/signed_certificate_timestamp_and_status.h" | 16 #include "net/ssl/signed_certificate_timestamp_and_status.h" |
16 #include "net/ssl/ssl_config.h" | 17 #include "net/ssl/ssl_config.h" |
17 | 18 |
18 namespace net { | 19 namespace net { |
19 | 20 |
20 class X509Certificate; | 21 class X509Certificate; |
21 | 22 |
22 // SSL connection info. | 23 // SSL connection info. |
(...skipping 13 matching lines...) Expand all Loading... |
36 ~SSLInfo(); | 37 ~SSLInfo(); |
37 SSLInfo& operator=(const SSLInfo& info); | 38 SSLInfo& operator=(const SSLInfo& info); |
38 | 39 |
39 void Reset(); | 40 void Reset(); |
40 | 41 |
41 bool is_valid() const { return cert.get() != NULL; } | 42 bool is_valid() const { return cert.get() != NULL; } |
42 | 43 |
43 // Adds the specified |error| to the cert status. | 44 // Adds the specified |error| to the cert status. |
44 void SetCertError(int error); | 45 void SetCertError(int error); |
45 | 46 |
| 47 // Adds the SignedCertificateTimestamps from ct_verify_result to |
| 48 // |signed_certificate_timestamps|. SCTs are held in three separate vectors |
| 49 // in ct_verify_result, each vetor representing a particular verification |
| 50 // state, this method associates each of the SCTs with the corresponding |
| 51 // SCTVerifyStatus as it adds it to the |signed_certificate_timestamps| list. |
| 52 void UpdateSignedCertificateTimestamps( |
| 53 const ct::CTVerifyResult& ct_verify_result); |
| 54 |
46 // The SSL certificate. | 55 // The SSL certificate. |
47 scoped_refptr<X509Certificate> cert; | 56 scoped_refptr<X509Certificate> cert; |
48 | 57 |
49 // The SSL certificate as received by the client. Can be different | 58 // The SSL certificate as received by the client. Can be different |
50 // from |cert|, which is the chain as built by the client during | 59 // from |cert|, which is the chain as built by the client during |
51 // validation. | 60 // validation. |
52 scoped_refptr<X509Certificate> unverified_cert; | 61 scoped_refptr<X509Certificate> unverified_cert; |
53 | 62 |
54 // Bitmask of status info of |cert|, representing, for example, known errors | 63 // Bitmask of status info of |cert|, representing, for example, known errors |
55 // and extended validation (EV) status. | 64 // and extended validation (EV) status. |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 std::string pinning_failure_log; | 113 std::string pinning_failure_log; |
105 | 114 |
106 // List of SignedCertificateTimestamps and their corresponding validation | 115 // List of SignedCertificateTimestamps and their corresponding validation |
107 // status. | 116 // status. |
108 SignedCertificateTimestampAndStatusList signed_certificate_timestamps; | 117 SignedCertificateTimestampAndStatusList signed_certificate_timestamps; |
109 }; | 118 }; |
110 | 119 |
111 } // namespace net | 120 } // namespace net |
112 | 121 |
113 #endif // NET_SSL_SSL_INFO_H_ | 122 #endif // NET_SSL_SSL_INFO_H_ |
OLD | NEW |