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