Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Unified Diff: net/cert/internal/path_builder.cc

Issue 2898303005: Wire up certificate policies support in PathBuilder. (Closed)
Patch Set: remove extra space Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/cert/internal/path_builder.h ('k') | net/cert/internal/path_builder_pkits_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/cert/internal/path_builder.cc
diff --git a/net/cert/internal/path_builder.cc b/net/cert/internal/path_builder.cc
index 05b66d66fe7437269a39785f0d69d870a16784e2..cc25543b0c3625fba3f50b2d33c83c23fb7014f1 100644
--- a/net/cert/internal/path_builder.cc
+++ b/net/cert/internal/path_builder.cc
@@ -11,6 +11,7 @@
#include "base/memory/ptr_util.h"
#include "net/base/net_errors.h"
#include "net/cert/internal/cert_issuer_source.h"
+#include "net/cert/internal/certificate_policies.h"
#include "net/cert/internal/parse_certificate.h"
#include "net/cert/internal/parse_name.h" // For CertDebugString.
#include "net/cert/internal/signature_policy.h"
@@ -544,16 +545,25 @@ void CertPathBuilder::Result::Clear() {
best_result_index = 0;
}
-CertPathBuilder::CertPathBuilder(scoped_refptr<ParsedCertificate> cert,
- TrustStore* trust_store,
- const SignaturePolicy* signature_policy,
- const der::GeneralizedTime& time,
- KeyPurpose key_purpose,
- Result* result)
+CertPathBuilder::CertPathBuilder(
+ scoped_refptr<ParsedCertificate> cert,
+ TrustStore* trust_store,
+ const SignaturePolicy* signature_policy,
+ const der::GeneralizedTime& time,
+ KeyPurpose key_purpose,
+ InitialExplicitPolicy initial_explicit_policy,
+ const std::set<der::Input>& user_initial_policy_set,
+ InitialPolicyMappingInhibit initial_policy_mapping_inhibit,
+ InitialAnyPolicyInhibit initial_any_policy_inhibit,
+ Result* result)
: cert_path_iter_(new CertPathIter(std::move(cert), trust_store)),
signature_policy_(signature_policy),
time_(time),
key_purpose_(key_purpose),
+ initial_explicit_policy_(initial_explicit_policy),
+ user_initial_policy_set_(user_initial_policy_set),
+ initial_policy_mapping_inhibit_(initial_policy_mapping_inhibit),
+ initial_any_policy_inhibit_(initial_any_policy_inhibit),
next_state_(STATE_NONE),
out_result_(result) {
result->Clear();
@@ -604,12 +614,11 @@ void CertPathBuilder::DoGetNextPathComplete() {
// Verify the entire certificate chain.
auto result_path = base::MakeUnique<ResultPath>();
- // TODO(eroman): don't pass placeholder for policy.
VerifyCertificateChain(
next_path_.certs, next_path_.last_cert_trust, signature_policy_, time_,
- key_purpose_, InitialExplicitPolicy::kFalse, {AnyPolicy()},
- InitialPolicyMappingInhibit::kFalse, InitialAnyPolicyInhibit::kFalse,
- nullptr /*user_constrained_policy_set*/, &result_path->errors);
+ key_purpose_, initial_explicit_policy_, user_initial_policy_set_,
+ initial_policy_mapping_inhibit_, initial_any_policy_inhibit_,
+ &result_path->user_constrained_policy_set, &result_path->errors);
bool verify_result = !result_path->errors.ContainsHighSeverityErrors();
DVLOG(1) << "CertPathBuilder VerifyCertificateChain result = "
« no previous file with comments | « net/cert/internal/path_builder.h ('k') | net/cert/internal/path_builder_pkits_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698