1// Copyright (c) 2012 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#ifndef NET_SPDY_SPDY_CREDENTIAL_BUILDER_H_ 6#define NET_SPDY_SPDY_CREDENTIAL_BUILDER_H_ 7 8#include <string> 9 10#include "net/base/net_export.h" 11 12namespace net { 13 14class SSLClientSocket; 15struct SpdyCredential; 16 17// This class provides facilities for building the various fields of 18// SPDY CREDENTIAL frames. 19class NET_EXPORT_PRIVATE SpdyCredentialBuilder { 20 public: 21 static int Build(const std::string& tls_unique, 22 const std::string& key, 23 const std::string& cert, 24 size_t slot, 25 SpdyCredential* credential); 26 27 private: 28 friend class SpdyCredentialBuilderTest; 29 30 // Returns the secret data to be signed as part of a credential frame. 31 static std::string GetCredentialSecret(const std::string& tls_unique); 32}; 33 34} // namespace net 35 36#endif // NET_SPDY_SPDY_CREDENTIAL_BUILDER_H_ 37