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

Unified Diff: net/cert/ct_log_verifier.cc

Issue 1100003006: Certificate Transparency: Fetching of Signed Tree Heads (DRAFT) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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
Index: net/cert/ct_log_verifier.cc
diff --git a/net/cert/ct_log_verifier.cc b/net/cert/ct_log_verifier.cc
index 6efb96a93192d1001a74a3019f20cc06acc0a949..d843b3d1d6d1ac8273ca399322540c43dd8c8f88 100644
--- a/net/cert/ct_log_verifier.cc
+++ b/net/cert/ct_log_verifier.cc
@@ -13,13 +13,23 @@ namespace net {
// static
scoped_ptr<CTLogVerifier> CTLogVerifier::Create(
const base::StringPiece& public_key,
- const base::StringPiece& description) {
- scoped_ptr<CTLogVerifier> result(new CTLogVerifier());
- if (!result->Init(public_key, description))
+ const base::StringPiece& description,
+ const base::StringPiece& url) {
+ scoped_ptr<CTLogVerifier> result(new CTLogVerifier(description, url));
+ if (!result->Init(public_key))
result.reset();
return result.Pass();
}
+CTLogVerifier::CTLogVerifier(const base::StringPiece& description,
+ const base::StringPiece& url)
+ : description_(description.as_string()),
+ url_(url.as_string()),
+ hash_algorithm_(ct::DigitallySigned::HASH_ALGO_NONE),
+ signature_algorithm_(ct::DigitallySigned::SIG_ALGO_ANONYMOUS),
+ public_key_(NULL) {
+}
+
bool CTLogVerifier::Verify(const ct::LogEntry& entry,
const ct::SignedCertificateTimestamp& sct) {
if (sct.log_id != key_id()) {
@@ -45,16 +55,15 @@ bool CTLogVerifier::Verify(const ct::LogEntry& entry,
return VerifySignature(serialized_data, sct.signature.signature_data);
}
-bool CTLogVerifier::SetSignedTreeHead(
- scoped_ptr<ct::SignedTreeHead> signed_tree_head) {
+bool CTLogVerifier::VerifySignedTreeHead(
+ const ct::SignedTreeHead* signed_tree_head) {
if (!SignatureParametersMatch(signed_tree_head->signature))
return false;
std::string serialized_data;
- ct::EncodeTreeHeadSignature(*signed_tree_head.get(), &serialized_data);
+ ct::EncodeTreeHeadSignature(*signed_tree_head, &serialized_data);
if (VerifySignature(serialized_data,
signed_tree_head->signature.signature_data)) {
- signed_tree_head_.reset(signed_tree_head.release());
return true;
}
return false;

Powered by Google App Engine
This is Rietveld 408576698