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/sct_status_flags.h" | 13 #include "net/cert/sct_status_flags.h" |
14 #include "net/cert/x509_cert_types.h" | 14 #include "net/cert/x509_cert_types.h" |
15 #include "net/ssl/signed_certificate_timestamp_and_status.h" | 15 #include "net/ssl/signed_certificate_timestamp_and_status.h" |
| 16 #include "net/ssl/ssl_config.h" |
16 | 17 |
17 namespace net { | 18 namespace net { |
18 | 19 |
19 class X509Certificate; | 20 class X509Certificate; |
20 | 21 |
21 // SSL connection info. | 22 // SSL connection info. |
22 // This is really a struct. All members are public. | 23 // This is really a struct. All members are public. |
23 class NET_EXPORT SSLInfo { | 24 class NET_EXPORT SSLInfo { |
24 public: | 25 public: |
25 // HandshakeType enumerates the possible resumption cases after an SSL | 26 // HandshakeType enumerates the possible resumption cases after an SSL |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 // standard CA root. (As opposed to a user-installed root.) | 76 // standard CA root. (As opposed to a user-installed root.) |
76 bool is_issued_by_known_root; | 77 bool is_issued_by_known_root; |
77 | 78 |
78 // True if a client certificate was sent to the server. Note that sending | 79 // True if a client certificate was sent to the server. Note that sending |
79 // a Certificate message with no client certificate in it does not count. | 80 // a Certificate message with no client certificate in it does not count. |
80 bool client_cert_sent; | 81 bool client_cert_sent; |
81 | 82 |
82 // True if a channel ID was sent to the server. | 83 // True if a channel ID was sent to the server. |
83 bool channel_id_sent; | 84 bool channel_id_sent; |
84 | 85 |
| 86 // True if Token Binding was negotiated with the server and we agreed on a |
| 87 // version and key params. |
| 88 bool token_binding_negotiated; |
| 89 |
| 90 // Only valid if |token_binding_negotiated| is true. Contains the key param |
| 91 // negotiated by the client and server in the Token Binding Negotiation TLS |
| 92 // extension. |
| 93 TokenBindingParam token_binding_key_param; |
| 94 |
85 HandshakeType handshake_type; | 95 HandshakeType handshake_type; |
86 | 96 |
87 // The hashes, in several algorithms, of the SubjectPublicKeyInfos from | 97 // The hashes, in several algorithms, of the SubjectPublicKeyInfos from |
88 // each certificate in the chain. | 98 // each certificate in the chain. |
89 HashValueVector public_key_hashes; | 99 HashValueVector public_key_hashes; |
90 | 100 |
91 // pinning_failure_log contains a message produced by | 101 // pinning_failure_log contains a message produced by |
92 // TransportSecurityState::PKPState::CheckPublicKeyPins in the event of a | 102 // TransportSecurityState::PKPState::CheckPublicKeyPins in the event of a |
93 // pinning failure. It is a (somewhat) human-readable string. | 103 // pinning failure. It is a (somewhat) human-readable string. |
94 std::string pinning_failure_log; | 104 std::string pinning_failure_log; |
95 | 105 |
96 // List of SignedCertificateTimestamps and their corresponding validation | 106 // List of SignedCertificateTimestamps and their corresponding validation |
97 // status. | 107 // status. |
98 SignedCertificateTimestampAndStatusList signed_certificate_timestamps; | 108 SignedCertificateTimestampAndStatusList signed_certificate_timestamps; |
99 }; | 109 }; |
100 | 110 |
101 } // namespace net | 111 } // namespace net |
102 | 112 |
103 #endif // NET_SSL_SSL_INFO_H_ | 113 #endif // NET_SSL_SSL_INFO_H_ |
OLD | NEW |