Encrypt certificate reports before uploading to HTTP URLs
commit0a3351c2a7c81284f82e6531380a21d079f55056
authorestark <estark@chromium.org>
Fri, 24 Apr 2015 21:07:51 +0000 (24 14:07 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 24 Apr 2015 21:07:45 +0000 (24 21:07 +0000)
tree0f853a0604253964c12c20818e099617e4c1ad66
parent5ae13f42298e9adad8bbe02580428eeef9e936cd
Encrypt certificate reports before uploading to HTTP URLs

This CL introduces a new protobuf to store encrypted
CertLoggerRequests. Serialized certificate reports are encrypted with an
AES-CTR-128-HMAC-SHA256 AEAD (from BoringSSL, thus encrypted reports are
only supported on BoringSSL platforms) before being uploaded to HTTP
endpoints. |CertificateErrorReporter::IsHttpUploadUrlSupported| allows
users of the class to set an HTTP URL if supported.

BUG=461590

Review URL: https://codereview.chromium.org/1083493003

Cr-Commit-Position: refs/heads/master@{#326876}
chrome/browser/net/cert_logger.proto
chrome/browser/net/certificate_error_reporter.cc
chrome/browser/net/certificate_error_reporter.h
chrome/browser/net/certificate_error_reporter_unittest.cc
chrome/browser/safe_browsing/ping_manager.cc
crypto/aead_openssl.cc [new file with mode: 0644]
crypto/aead_openssl.h [new file with mode: 0644]
crypto/aead_openssl_unittest.cc [new file with mode: 0644]
crypto/crypto.gyp
crypto/crypto.gypi