Check TBSCertificate.algorithm and Certificate.signatureAlgorithm for consistency when verifying certificates.
The underlying platform verifiers don't do this, which can lead to
confusion when trying to enforce policy for SHA1 on the verified chain.
* If the two signature algorithms don't match will fail with
ERR_INVALID_CERT.
* If the chain contains a signature algorithm that we don't know how to
parse, will also fail with ERR_INVALID_CERT
BUG=690821
Review-Url: https://codereview.chromium.org/2731603002
Cr-Commit-Position: refs/heads/master@{#455682}
(cherry picked from commit a77953fe670968fe6728796b77cedf48f0954d78)
Review-Url: https://codereview.chromium.org/2750723002 .
Cr-Commit-Position: refs/branch-heads/3029@{#166}
Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471}
14 files changed