| OLD | NEW |
| (Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "net/quic/crypto/channel_id.h" |
| 6 |
| 7 #include "net/quic/test_tools/crypto_test_utils.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 |
| 10 using std::string; |
| 11 |
| 12 namespace net { |
| 13 namespace test { |
| 14 |
| 15 // TODO(rtenneti): Enable testing of ChannelID. |
| 16 TEST(ChannelIDTest, DISABLED_SignAndVerify) { |
| 17 scoped_ptr<ChannelIDSigner> signer( |
| 18 CryptoTestUtils::ChannelIDSignerForTesting()); |
| 19 |
| 20 const string signed_data = "signed data"; |
| 21 const string hostname = "foo.example.com"; |
| 22 string key, signature; |
| 23 ASSERT_TRUE(signer->Sign(hostname, signed_data, &key, &signature)); |
| 24 |
| 25 EXPECT_EQ(key, CryptoTestUtils::ChannelIDKeyForHostname(hostname)); |
| 26 |
| 27 EXPECT_TRUE(ChannelIDVerifier::Verify(key, signed_data, signature)); |
| 28 |
| 29 EXPECT_FALSE(ChannelIDVerifier::Verify("a" + key, signed_data, signature)); |
| 30 EXPECT_FALSE(ChannelIDVerifier::Verify(key, "a" + signed_data, signature)); |
| 31 |
| 32 scoped_ptr<char[]> bad_key(new char[key.size()]); |
| 33 memcpy(bad_key.get(), key.data(), key.size()); |
| 34 bad_key[1] ^= 0x80; |
| 35 EXPECT_FALSE(ChannelIDVerifier::Verify( |
| 36 string(bad_key.get(), key.size()), signed_data, signature)); |
| 37 |
| 38 scoped_ptr<char[]> bad_signature(new char[signature.size()]); |
| 39 memcpy(bad_signature.get(), signature.data(), signature.size()); |
| 40 bad_signature[1] ^= 0x80; |
| 41 EXPECT_FALSE(ChannelIDVerifier::Verify( |
| 42 key, signed_data, string(bad_signature.get(), signature.size()))); |
| 43 |
| 44 EXPECT_FALSE(ChannelIDVerifier::Verify( |
| 45 key, "wrong signed data", signature)); |
| 46 } |
| 47 |
| 48 } // namespace test |
| 49 } // namespace net |
| OLD | NEW |