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

Side by Side Diff: net/cert/ct_serialization_unittest.cc

Issue 72333007: Add an SignedCertificateTimetampStore, making SignedCertificateTimestamp be refcounted to aid. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@piecewise
Patch Set: Fixes for wtc. 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 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_serialization.h" 5 #include "net/cert/ct_serialization.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 base::StringPiece encoded("\x0\xa\x0\x3\x61\x62\x63\x0\x5\x64\x65\x66", 12); 128 base::StringPiece encoded("\x0\xa\x0\x3\x61\x62\x63\x0\x5\x64\x65\x66", 12);
129 std::vector<base::StringPiece> decoded; 129 std::vector<base::StringPiece> decoded;
130 130
131 ASSERT_FALSE(ct::DecodeSCTList(&encoded, &decoded)); 131 ASSERT_FALSE(ct::DecodeSCTList(&encoded, &decoded));
132 } 132 }
133 133
134 TEST_F(CtSerializationTest, DecodesSignedCertificateTimestamp) { 134 TEST_F(CtSerializationTest, DecodesSignedCertificateTimestamp) {
135 std::string encoded_test_sct(ct::GetTestSignedCertificateTimestamp()); 135 std::string encoded_test_sct(ct::GetTestSignedCertificateTimestamp());
136 base::StringPiece encoded_sct(encoded_test_sct); 136 base::StringPiece encoded_sct(encoded_test_sct);
137 137
138 ct::SignedCertificateTimestamp sct; 138 scoped_refptr<ct::SignedCertificateTimestamp> sct;
139 ASSERT_TRUE(ct::DecodeSignedCertificateTimestamp(&encoded_sct, &sct)); 139 ASSERT_TRUE(ct::DecodeSignedCertificateTimestamp(&encoded_sct, &sct));
140 EXPECT_EQ(0, sct.version); 140 EXPECT_EQ(0, sct->version);
141 std::string expected_log_key( 141 std::string expected_log_key(
142 "\xdf\x1c\x2e\xc1\x15\x00\x94\x52\x47\xa9\x61\x68\x32\x5d\xdc\x5c\x79\x59" 142 "\xdf\x1c\x2e\xc1\x15\x00\x94\x52\x47\xa9\x61\x68\x32\x5d\xdc\x5c\x79\x59"
143 "\xe8\xf7\xc6\xd3\x88\xfc\x00\x2e\x0b\xbd\x3f\x74\xd7\x64", 143 "\xe8\xf7\xc6\xd3\x88\xfc\x00\x2e\x0b\xbd\x3f\x74\xd7\x64",
144 32); 144 32);
145 EXPECT_EQ(expected_log_key, sct.log_id); 145 EXPECT_EQ(expected_log_key, sct->log_id);
146 base::Time expected_time = base::Time::UnixEpoch() + 146 base::Time expected_time = base::Time::UnixEpoch() +
147 base::TimeDelta::FromMilliseconds(1365181456089); 147 base::TimeDelta::FromMilliseconds(1365181456089);
148 EXPECT_EQ(expected_time, sct.timestamp); 148 EXPECT_EQ(expected_time, sct->timestamp);
149 // Subtracting 4 bytes for signature data (hash & sig algs), 149 // Subtracting 4 bytes for signature data (hash & sig algs),
150 // actual signature data should be 71 bytes. 150 // actual signature data should be 71 bytes.
151 EXPECT_EQ((size_t) 71, sct.signature.signature_data.size()); 151 EXPECT_EQ((size_t) 71, sct->signature.signature_data.size());
152 EXPECT_EQ(std::string(""), sct.extensions); 152 EXPECT_EQ(std::string(""), sct->extensions);
153 } 153 }
154 154
155 TEST_F(CtSerializationTest, FailsDecodingInvalidSignedCertificateTimestamp) { 155 TEST_F(CtSerializationTest, FailsDecodingInvalidSignedCertificateTimestamp) {
156 // Invalid version 156 // Invalid version
157 base::StringPiece invalid_version_sct("\x2\x0", 2); 157 base::StringPiece invalid_version_sct("\x2\x0", 2);
158 ct::SignedCertificateTimestamp sct; 158 scoped_refptr<ct::SignedCertificateTimestamp> sct;
159 159
160 ASSERT_FALSE( 160 ASSERT_FALSE(
161 ct::DecodeSignedCertificateTimestamp(&invalid_version_sct, &sct)); 161 ct::DecodeSignedCertificateTimestamp(&invalid_version_sct, &sct));
162 162
163 // Valid version, invalid length (missing data) 163 // Valid version, invalid length (missing data)
164 base::StringPiece invalid_length_sct("\x0\xa\xb\xc", 4); 164 base::StringPiece invalid_length_sct("\x0\xa\xb\xc", 4);
165 ASSERT_FALSE( 165 ASSERT_FALSE(
166 ct::DecodeSignedCertificateTimestamp(&invalid_length_sct, &sct)); 166 ct::DecodeSignedCertificateTimestamp(&invalid_length_sct, &sct));
167 } 167 }
168 168
169 } // namespace net 169 } // namespace net
170 170
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698