Chromium Code Reviews| Index: components/cast_certificate/cast_cert_validator.cc |
| diff --git a/components/cast_certificate/cast_cert_validator.cc b/components/cast_certificate/cast_cert_validator.cc |
| index f7c62dd7aff5bc32904119251bc05f78a79ff329..98025086cfffb2c399857d4ccc9b841d9e138172 100644 |
| --- a/components/cast_certificate/cast_cert_validator.cc |
| +++ b/components/cast_certificate/cast_cert_validator.cc |
| @@ -251,14 +251,14 @@ net::ParseCertificateOptions GetCertParsingOptions() { |
| return options; |
| } |
| -} // namespace |
| - |
| +// Verifies a cast device certficate given a chain of DER-encoded certificates. |
| bool VerifyDeviceCert(const std::vector<std::string>& certs, |
| const base::Time& time, |
| std::unique_ptr<CertVerificationContext>* context, |
| CastDeviceCertPolicy* policy, |
| const CastCRL* crl, |
| - CRLPolicy crl_policy) { |
| + CRLPolicy crl_policy, |
| + net::TrustStore& trust_store) { |
|
eroman
2016/08/04 19:28:52
Please pass this as a pointer (or const reference
ryanchung
2016/08/04 21:56:52
Done.
|
| if (certs.empty()) |
| return false; |
| @@ -290,7 +290,7 @@ bool VerifyDeviceCert(const std::vector<std::string>& certs, |
| if (!net::der::EncodeTimeAsGeneralizedTime(time, &verification_time)) |
| return false; |
| net::CertPathBuilder::Result result; |
| - net::CertPathBuilder path_builder(target_cert.get(), &CastTrustStore::Get(), |
| + net::CertPathBuilder path_builder(target_cert.get(), &trust_store, |
| signature_policy.get(), verification_time, |
| &result); |
| path_builder.AddCertIssuerSource(&intermediate_cert_issuer_source); |
| @@ -322,6 +322,29 @@ bool VerifyDeviceCert(const std::vector<std::string>& certs, |
| return true; |
| } |
| +} // namespace |
| + |
| +bool VerifyDeviceCert(const std::vector<std::string>& certs, |
| + const base::Time& time, |
| + std::unique_ptr<CertVerificationContext>* context, |
| + CastDeviceCertPolicy* policy, |
| + const CastCRL* crl, |
| + CRLPolicy crl_policy) { |
| + return VerifyDeviceCert(certs, time, context, policy, crl, crl_policy, |
| + CastTrustStore::Get()); |
| +} |
| + |
| +bool VerifyDeviceCertForTest(const std::vector<std::string>& certs, |
| + const base::Time& time, |
| + std::unique_ptr<CertVerificationContext>* context, |
| + CastDeviceCertPolicy* policy, |
| + const CastCRL* crl, |
| + CRLPolicy crl_policy, |
| + net::TrustStore& trust_store) { |
|
eroman
2016/08/04 19:28:52
Same comment as elsewhere (pointer or const-refere
ryanchung
2016/08/04 21:56:52
Done.
|
| + return VerifyDeviceCert(certs, time, context, policy, crl, crl_policy, |
| + trust_store); |
| +} |
| + |
| std::unique_ptr<CertVerificationContext> CertVerificationContextImplForTest( |
| const base::StringPiece& spki) { |
| // Use a bogus CommonName, since this is just exposed for testing signature |