The MITM software interstitial is an interstitial that will be displayed to users struggling with SSL errors because of an antivirus, firewall, proxy, or other man-in-the-middle software. You can read about this interstitial in depth at go/sperigo-design-doc.
This is the first of two CLs I intend to use to check in for the bulk of the MITM software interstitial code. This CL includes code in ssl_error_handler.* with the logic used to scan a certificate and determine if it was issued by MITM software as well as unit tests. The next CL will include an extension of the SSLBlockingPage class for the MITM software interstitial, an extension of the SSLContentUI, and browser tests. At a high level, this is the "back end" CL, and the UI CL is coming next.
Bug: crbug.com/751902 Change-Id: I80d1493b0ece5b8326987f87fa301dec41a3df87 Reviewed-on: https://chromium-review.googlesource.com/599012 Commit-Queue: Sasha Perigo
2bfbbe9 Add logic in ssl_error_handler to render a MITM software interstitial.
chrome/browser/browser_resources.grd | 2 +-
chrome/browser/ssl/ssl_error_assistant.proto | 13 +
chrome/browser/ssl/ssl_error_handler.cc | 173 +++++++--
chrome/browser/ssl/ssl_error_handler.h | 5 +
chrome/browser/ssl/ssl_error_handler_unittest.cc | 407 ++++++++++++++++++----
testing/variations/fieldtrial_testing_config.json | 16 +
tools/metrics/histograms/enums.xml | 1 +
7 files changed, 515 insertions(+), 102 deletions(-)