Home | History | Annotate | Download | only in incident_reporting
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_BINARY_INTEGRITY_ANALYZER_H_
      6 #define CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_BINARY_INTEGRITY_ANALYZER_H_
      7 
      8 #include <vector>
      9 
     10 #include "chrome/browser/safe_browsing/incident_reporting/add_incident_callback.h"
     11 
     12 namespace base {
     13 class FilePath;
     14 }  // namespace base
     15 
     16 namespace safe_browsing {
     17 
     18 // Registers a process-wide analysis with the incident reporting service that
     19 // will verify the signature of the most critical binaries used by Chrome. It
     20 // will send an incident report every time a signature verification fails.
     21 void RegisterBinaryIntegrityAnalysis();
     22 
     23 // Callback to pass to the incident reporting service. The incident reporting
     24 // service will decide when to start the analysis.
     25 void VerifyBinaryIntegrity(const AddIncidentCallback& callback);
     26 
     27 // Returns a vector containing the paths to all the binaries to verify.
     28 std::vector<base::FilePath> GetCriticalBinariesPath();
     29 
     30 }  // namespace safe_browsing
     31 
     32 #endif  // CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_BINARY_INTEGRITY_ANALYZER_H_
     33