OLD | NEW |
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 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 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 EXPECT_EQ(ct::GetTestPublicKeyId(), sct.log_id); |
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", | |
144 32); | |
145 EXPECT_EQ(expected_log_key, sct.log_id); | |
146 base::Time expected_time = base::Time::UnixEpoch() + | 142 base::Time expected_time = base::Time::UnixEpoch() + |
147 base::TimeDelta::FromMilliseconds(1365181456089); | 143 base::TimeDelta::FromMilliseconds(1365181456089); |
148 EXPECT_EQ(expected_time, sct.timestamp); | 144 EXPECT_EQ(expected_time, sct.timestamp); |
149 // Subtracting 4 bytes for signature data (hash & sig algs), | 145 // Subtracting 4 bytes for signature data (hash & sig algs), |
150 // actual signature data should be 71 bytes. | 146 // actual signature data should be 71 bytes. |
151 EXPECT_EQ((size_t) 71, sct.signature.signature_data.size()); | 147 EXPECT_EQ((size_t) 71, sct.signature.signature_data.size()); |
152 EXPECT_EQ(std::string(""), sct.extensions); | 148 EXPECT_EQ(std::string(""), sct.extensions); |
153 } | 149 } |
154 | 150 |
155 TEST_F(CtSerializationTest, FailsDecodingInvalidSignedCertificateTimestamp) { | 151 TEST_F(CtSerializationTest, FailsDecodingInvalidSignedCertificateTimestamp) { |
156 // Invalid version | 152 // Invalid version |
157 base::StringPiece invalid_version_sct("\x2\x0", 2); | 153 base::StringPiece invalid_version_sct("\x2\x0", 2); |
158 ct::SignedCertificateTimestamp sct; | 154 ct::SignedCertificateTimestamp sct; |
159 | 155 |
160 ASSERT_FALSE( | 156 ASSERT_FALSE( |
161 ct::DecodeSignedCertificateTimestamp(&invalid_version_sct, &sct)); | 157 ct::DecodeSignedCertificateTimestamp(&invalid_version_sct, &sct)); |
162 | 158 |
163 // Valid version, invalid length (missing data) | 159 // Valid version, invalid length (missing data) |
164 base::StringPiece invalid_length_sct("\x0\xa\xb\xc", 4); | 160 base::StringPiece invalid_length_sct("\x0\xa\xb\xc", 4); |
165 ASSERT_FALSE( | 161 ASSERT_FALSE( |
166 ct::DecodeSignedCertificateTimestamp(&invalid_length_sct, &sct)); | 162 ct::DecodeSignedCertificateTimestamp(&invalid_length_sct, &sct)); |
167 } | 163 } |
168 | 164 |
169 } // namespace net | 165 } // namespace net |
170 | 166 |
OLD | NEW |