OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_URL_REQUEST_FRAUDULENT_CERTIFICATE_REPORTER_H_ | 5 #ifndef NET_URL_REQUEST_FRAUDULENT_CERTIFICATE_REPORTER_H_ |
6 #define NET_URL_REQUEST_FRAUDULENT_CERTIFICATE_REPORTER_H_ | 6 #define NET_URL_REQUEST_FRAUDULENT_CERTIFICATE_REPORTER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 namespace net { | 10 namespace net { |
11 | 11 |
12 class SSLInfo; | 12 class SSLInfo; |
13 | 13 |
14 // FraudulentCertificateReporter is an interface for asynchronously | 14 // FraudulentCertificateReporter is an interface for asynchronously |
15 // reporting certificate chains that fail the certificate pinning | 15 // reporting certificate chains that fail the certificate pinning |
16 // check. | 16 // check. |
17 class FraudulentCertificateReporter { | 17 class FraudulentCertificateReporter { |
18 public: | 18 public: |
19 virtual ~FraudulentCertificateReporter() {} | 19 virtual ~FraudulentCertificateReporter() {} |
20 | 20 |
21 // Sends a report to the report collection server containing the |ssl_info| | 21 // Sends a report to the report collection server containing the |ssl_info| |
22 // associated with a connection to |hostname|. If |sni_available| is true, | 22 // associated with a connection to |hostname|. |
23 // searches the SNI transport security metadata as well as the usual | |
24 // transport security metadata when determining policy for sending the report. | |
25 virtual void SendReport(const std::string& hostname, | 23 virtual void SendReport(const std::string& hostname, |
26 const SSLInfo& ssl_info, | 24 const SSLInfo& ssl_info) = 0; |
27 bool sni_available) = 0; | |
28 }; | 25 }; |
29 | 26 |
30 } // namespace net | 27 } // namespace net |
31 | 28 |
32 #endif // NET_URL_REQUEST_FRAUDULENT_CERTIFICATE_REPORTER_H_ | 29 #endif // NET_URL_REQUEST_FRAUDULENT_CERTIFICATE_REPORTER_H_ |
33 | 30 |
OLD | NEW |