| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/quic/crypto/crypto_utils.h" | 5 #include "net/quic/crypto/crypto_utils.h" |
| 6 | 6 |
| 7 #include "net/quic/test_tools/quic_test_utils.h" | 7 #include "net/quic/test_tools/quic_test_utils.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 9 |
| 10 namespace net { | 10 namespace net { |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 "e934f78d7a71dd85420fceeb8cea0317", | 61 "e934f78d7a71dd85420fceeb8cea0317", |
| 62 "b8d766b5d3c8aba0009c7ed3de553eba53b4de1030ea91383dcdf724cd8b7217", | 62 "b8d766b5d3c8aba0009c7ed3de553eba53b4de1030ea91383dcdf724cd8b7217", |
| 63 32, | 63 32, |
| 64 "a9979da0d5f1c1387d7cbe68f5c4163ddb445a03c4ad6ee72cb49d56726d679e" | 64 "a9979da0d5f1c1387d7cbe68f5c4163ddb445a03c4ad6ee72cb49d56726d679e" |
| 65 }, | 65 }, |
| 66 // Don't let the label contain nulls | 66 // Don't let the label contain nulls |
| 67 { "14fe51e082ffee7d1b4d8d4ab41f8c55", | 67 { "14fe51e082ffee7d1b4d8d4ab41f8c55", |
| 68 "3132333435363700", | 68 "3132333435363700", |
| 69 "58585858585858585858585858585858", | 69 "58585858585858585858585858585858", |
| 70 16, | 70 16, |
| 71 NULL | 71 nullptr |
| 72 }, | 72 }, |
| 73 // Make sure nulls in the context are fine | 73 // Make sure nulls in the context are fine |
| 74 { "d862c2e36b0a42f7827c67ebc8d44df7", | 74 { "d862c2e36b0a42f7827c67ebc8d44df7", |
| 75 "7a5b95e4e8378123", | 75 "7a5b95e4e8378123", |
| 76 "4142434445464700", | 76 "4142434445464700", |
| 77 16, | 77 16, |
| 78 "12d418c6d0738a2e4d85b2d0170f76e1" | 78 "12d418c6d0738a2e4d85b2d0170f76e1" |
| 79 }, | 79 }, |
| 80 // ... and give a different result than without | 80 // ... and give a different result than without |
| 81 { "d862c2e36b0a42f7827c67ebc8d44df7", | 81 { "d862c2e36b0a42f7827c67ebc8d44df7", |
| (...skipping 13 matching lines...) Expand all Loading... |
| 95 | 95 |
| 96 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_vector); i++) { | 96 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_vector); i++) { |
| 97 // Decode the test vector. | 97 // Decode the test vector. |
| 98 string subkey_secret; | 98 string subkey_secret; |
| 99 string label; | 99 string label; |
| 100 string context; | 100 string context; |
| 101 ASSERT_TRUE(DecodeHexString(test_vector[i].subkey_secret, &subkey_secret)); | 101 ASSERT_TRUE(DecodeHexString(test_vector[i].subkey_secret, &subkey_secret)); |
| 102 ASSERT_TRUE(DecodeHexString(test_vector[i].label, &label)); | 102 ASSERT_TRUE(DecodeHexString(test_vector[i].label, &label)); |
| 103 ASSERT_TRUE(DecodeHexString(test_vector[i].context, &context)); | 103 ASSERT_TRUE(DecodeHexString(test_vector[i].context, &context)); |
| 104 size_t result_len = test_vector[i].result_len; | 104 size_t result_len = test_vector[i].result_len; |
| 105 bool expect_ok = test_vector[i].expected != NULL; | 105 bool expect_ok = test_vector[i].expected != nullptr; |
| 106 string expected; | 106 string expected; |
| 107 if (expect_ok) { | 107 if (expect_ok) { |
| 108 ASSERT_TRUE(DecodeHexString(test_vector[i].expected, &expected)); | 108 ASSERT_TRUE(DecodeHexString(test_vector[i].expected, &expected)); |
| 109 } | 109 } |
| 110 | 110 |
| 111 string result; | 111 string result; |
| 112 bool ok = CryptoUtils::ExportKeyingMaterial(subkey_secret, | 112 bool ok = CryptoUtils::ExportKeyingMaterial(subkey_secret, |
| 113 label, | 113 label, |
| 114 context, | 114 context, |
| 115 result_len, | 115 result_len, |
| 116 &result); | 116 &result); |
| 117 EXPECT_EQ(expect_ok, ok); | 117 EXPECT_EQ(expect_ok, ok); |
| 118 if (expect_ok) { | 118 if (expect_ok) { |
| 119 EXPECT_EQ(result_len, result.length()); | 119 EXPECT_EQ(result_len, result.length()); |
| 120 test::CompareCharArraysWithHexError("HKDF output", | 120 test::CompareCharArraysWithHexError("HKDF output", |
| 121 result.data(), | 121 result.data(), |
| 122 result.length(), | 122 result.length(), |
| 123 expected.data(), | 123 expected.data(), |
| 124 expected.length()); | 124 expected.length()); |
| 125 } | 125 } |
| 126 } | 126 } |
| 127 } | 127 } |
| 128 | 128 |
| 129 } // namespace | 129 } // namespace |
| 130 } // namespace test | 130 } // namespace test |
| 131 } // namespace net | 131 } // namespace net |
| OLD | NEW |