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

Unified Diff: net/cert/multi_log_ct_verifier.cc

Issue 86503002: Certificate Transparency: Logging SCTs to the NetLog. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address *all* comments Created 7 years, 1 month 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
Index: net/cert/multi_log_ct_verifier.cc
diff --git a/net/cert/multi_log_ct_verifier.cc b/net/cert/multi_log_ct_verifier.cc
index 8a2a823cf88dab7c80fdf61f55afc5c15117b7e6..3c070ce54f1cc5dc1c020507aaf2d106bdfed4df 100644
--- a/net/cert/multi_log_ct_verifier.cc
+++ b/net/cert/multi_log_ct_verifier.cc
@@ -4,10 +4,14 @@
#include "net/cert/multi_log_ct_verifier.h"
+#include "base/bind.h"
+#include "base/callback_helpers.h"
#include "net/base/net_errors.h"
+#include "net/base/net_log.h"
#include "net/cert/ct_log_verifier.h"
#include "net/cert/ct_objects_extractor.h"
#include "net/cert/ct_serialization.h"
+#include "net/cert/ct_signed_certificate_timestamp_log_param.h"
#include "net/cert/ct_verify_result.h"
#include "net/cert/x509_certificate.h"
@@ -30,7 +34,8 @@ int MultiLogCTVerifier::Verify(
X509Certificate* cert,
const std::string& sct_list_from_ocsp,
const std::string& sct_list_from_tls_extension,
- ct::CTVerifyResult* result) {
+ ct::CTVerifyResult* result,
+ const BoundNetLog& net_log) {
DCHECK(cert);
DCHECK(result);
@@ -59,21 +64,37 @@ int MultiLogCTVerifier::Verify(
result);
}
+ // Log to Net Log here, after extracting embedded SCTs but before
eroman 2013/11/27 22:33:46 nit: Remove "here,"
Eran M. (Google) 2013/11/29 11:14:44 Done.
+ // possibly failing on X.509 entry creation.
+ NetLog::ParametersCallback net_log_callback =
+ base::Bind(&NetLogRawSignedCertificateTimestampCallback,
eroman 2013/11/27 22:33:46 style: Indent continued lines by 4.
Eran M. (Google) 2013/11/29 11:14:44 Done.
Eran M. (Google) 2013/11/29 11:14:44 Done.
+ &embedded_scts, &sct_list_from_ocsp, &sct_list_from_tls_extension);
+
+ net_log.AddEvent(
+ NetLog::TYPE_SIGNED_CERTIFICATE_TIMESTAMPS_RECEIVED,
+ net_log_callback);
+
ct::LogEntry x509_entry;
- if (!ct::GetX509LogEntry(cert->os_cert_handle(), &x509_entry))
- return has_verified_scts ? OK : ERR_FAILED;
-
- has_verified_scts |= VerifySCTs(
- sct_list_from_ocsp,
- x509_entry,
- ct::SignedCertificateTimestamp::SCT_FROM_OCSP_RESPONSE,
- result);
-
- has_verified_scts |= VerifySCTs(
- sct_list_from_tls_extension,
- x509_entry,
- ct::SignedCertificateTimestamp::SCT_FROM_TLS_EXTENSION,
- result);
+ if (ct::GetX509LogEntry(cert->os_cert_handle(), &x509_entry)) {
+ has_verified_scts |= VerifySCTs(
+ sct_list_from_ocsp,
+ x509_entry,
+ ct::SignedCertificateTimestamp::SCT_FROM_OCSP_RESPONSE,
+ result);
+
+ has_verified_scts |= VerifySCTs(
+ sct_list_from_tls_extension,
+ x509_entry,
+ ct::SignedCertificateTimestamp::SCT_FROM_TLS_EXTENSION,
+ result);
+ }
+
+ NetLog::ParametersCallback net_log_checked_callback =
+ base::Bind(&NetLogSignedCertificateTimestampCallback, result);
eroman 2013/11/27 22:33:46 indent continued lines by 4.
Eran M. (Google) 2013/11/29 11:14:44 Done.
+
+ net_log.AddEvent(
+ NetLog::TYPE_SIGNED_CERTIFICATE_TIMESTAMPS_CHECKED,
+ net_log_checked_callback);
if (has_verified_scts)
return OK;

Powered by Google App Engine
This is Rietveld 408576698