Chromium Code Reviews| Index: net/spdy/spdy_test_utils.cc | 
| diff --git a/net/spdy/spdy_test_utils.cc b/net/spdy/spdy_test_utils.cc | 
| index e33a08bc1c33f81d4bcdef41e91a16abedef0084..ef2b7971feed3fca79c6eb9f3127bc901668097e 100644 | 
| --- a/net/spdy/spdy_test_utils.cc | 
| +++ b/net/spdy/spdy_test_utils.cc | 
| @@ -7,10 +7,12 @@ | 
| #include <cstring> | 
| #include <vector> | 
| +#include "base/base64.h" | 
| #include "base/logging.h" | 
| #include "base/memory/scoped_ptr.h" | 
| #include "base/strings/string_number_conversions.h" | 
| #include "base/sys_byteorder.h" | 
| +#include "net/ssl/ssl_info.h" | 
| #include "testing/gtest/include/gtest/gtest.h" | 
| namespace net { | 
| @@ -139,6 +141,36 @@ std::string a2b_hex(const char* hex_data) { | 
| return result; | 
| } | 
| +HashValue GetTestHashValue(uint8 label) { | 
| + HashValue hash_value(HASH_VALUE_SHA1); | 
| 
 
Ryan Sleevi
2014/08/11 18:45:17
Use SHA-256 for these.
SHA-1 is deprecated in HPK
 
Ryan Hamilton
2014/08/12 14:39:06
Done.
 
 | 
| + memset(hash_value.data(), label, hash_value.size()); | 
| + return hash_value; | 
| +} | 
| + | 
| +std::string GetTestPin(uint8 label) { | 
| + HashValue hash_value = GetTestHashValue(label); | 
| + std::string base64; | 
| + base::Base64Encode(base::StringPiece( | 
| + reinterpret_cast<char*>(hash_value.data()), hash_value.size()), &base64); | 
| + | 
| + return std::string("pin-sha1=\"") + base64 + "\""; | 
| +} | 
| + | 
| +void AddPin(TransportSecurityState* state, | 
| + const std::string& host, | 
| + uint8 primary_label, | 
| + uint8 backup_label) { | 
| + std::string primary_pin = GetTestPin(primary_label); | 
| + std::string backup_pin = GetTestPin(backup_label); | 
| + std::string header = "max-age = 10000; " + primary_pin + "; " + backup_pin; | 
| + | 
| + // Construct a fake SSLInfo that will pass AddHPKPHeader's checks. | 
| + SSLInfo ssl_info; | 
| + ssl_info.is_issued_by_known_root = true; | 
| + ssl_info.public_key_hashes.push_back(GetTestHashValue(primary_label)); | 
| + EXPECT_TRUE(state->AddHPKPHeader(host, header, ssl_info)); | 
| +} | 
| + | 
| } // namespace test | 
| } // namespace net |