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

Side by Side Diff: net/cert/ct_log_verifier_unittest.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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/cert/ct_log_verifier.h" 5 #include "net/cert/ct_log_verifier.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/time/time.h" 9 #include "base/time/time.h"
10 #include "net/cert/signed_certificate_timestamp.h" 10 #include "net/cert/signed_certificate_timestamp.h"
11 #include "net/cert/signed_tree_head.h" 11 #include "net/cert/signed_tree_head.h"
12 #include "net/test/ct_test_util.h" 12 #include "net/test/ct_test_util.h"
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 14
15 namespace net { 15 namespace net {
16 16
17 class CTLogVerifierTest : public ::testing::Test { 17 class CTLogVerifierTest : public ::testing::Test {
18 public: 18 public:
19 CTLogVerifierTest() {} 19 CTLogVerifierTest() {}
20 20
21 void SetUp() override { 21 void SetUp() override {
22 log_ = CTLogVerifier::Create(ct::GetTestPublicKey(), "testlog").Pass(); 22 log_ = CTLogVerifier::Create(ct::GetTestPublicKey(), "testlog", "").Pass();
Ryan Sleevi 2015/04/24 10:42:08 s/""/std::string()
Eran Messeri 2015/06/18 15:18:42 Done.
23 23
24 ASSERT_TRUE(log_); 24 ASSERT_TRUE(log_);
25 ASSERT_EQ(log_->key_id(), ct::GetTestPublicKeyId()); 25 ASSERT_EQ(log_->key_id(), ct::GetTestPublicKeyId());
26 } 26 }
27 27
28 protected: 28 protected:
29 scoped_ptr<CTLogVerifier> log_; 29 scoped_ptr<CTLogVerifier> log_;
30 }; 30 };
31 31
32 TEST_F(CTLogVerifierTest, VerifiesCertSCT) { 32 TEST_F(CTLogVerifierTest, VerifiesCertSCT) {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 // Mangle the log ID, which should cause it to match a different log before 72 // Mangle the log ID, which should cause it to match a different log before
73 // attempting signature validation. 73 // attempting signature validation.
74 cert_sct->log_id.assign(cert_sct->log_id.size(), '\0'); 74 cert_sct->log_id.assign(cert_sct->log_id.size(), '\0');
75 75
76 EXPECT_FALSE(log_->Verify(cert_entry, *cert_sct.get())); 76 EXPECT_FALSE(log_->Verify(cert_entry, *cert_sct.get()));
77 } 77 }
78 78
79 TEST_F(CTLogVerifierTest, SetsValidSTH) { 79 TEST_F(CTLogVerifierTest, SetsValidSTH) {
80 scoped_ptr<ct::SignedTreeHead> sth(new ct::SignedTreeHead()); 80 scoped_ptr<ct::SignedTreeHead> sth(new ct::SignedTreeHead());
81 ct::GetSignedTreeHead(sth.get()); 81 ct::GetSignedTreeHead(sth.get());
82 ASSERT_TRUE(log_->SetSignedTreeHead(sth.Pass())); 82 ASSERT_TRUE(log_->VerifySignedTreeHead(sth.get()));
Ryan Sleevi 2015/04/24 10:42:08 no need for .get() for scoped_ptr's; it's cleaner
Eran Messeri 2015/06/18 15:18:42 Done.
83 } 83 }
84 84
85 TEST_F(CTLogVerifierTest, DoesNotSetInvalidSTH) { 85 TEST_F(CTLogVerifierTest, DoesNotSetInvalidSTH) {
86 scoped_ptr<ct::SignedTreeHead> sth(new ct::SignedTreeHead()); 86 scoped_ptr<ct::SignedTreeHead> sth(new ct::SignedTreeHead());
87 ct::GetSignedTreeHead(sth.get()); 87 ct::GetSignedTreeHead(sth.get());
88 sth->sha256_root_hash[0] = '\x0'; 88 sth->sha256_root_hash[0] = '\x0';
89 ASSERT_FALSE(log_->SetSignedTreeHead(sth.Pass())); 89 ASSERT_FALSE(log_->VerifySignedTreeHead(sth.get()));
90 } 90 }
91 91
92 // Test that excess data after the public key is rejected. 92 // Test that excess data after the public key is rejected.
93 TEST_F(CTLogVerifierTest, ExcessDataInPublicKey) { 93 TEST_F(CTLogVerifierTest, ExcessDataInPublicKey) {
94 std::string key = ct::GetTestPublicKey(); 94 std::string key = ct::GetTestPublicKey();
95 key += "extra"; 95 key += "extra";
96 96
97 scoped_ptr<CTLogVerifier> log = CTLogVerifier::Create(key, "testlog"); 97 scoped_ptr<CTLogVerifier> log = CTLogVerifier::Create(key, "testlog", "");
Ryan Sleevi 2015/04/24 10:42:08 s/""/std::string()
Eran Messeri 2015/06/18 15:18:42 Done.
98 EXPECT_FALSE(log); 98 EXPECT_FALSE(log);
99 } 99 }
100 100
101 } // namespace net 101 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698