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; |