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 12 namespace net { 13 14 class SSLClientSocket; 15 struct SpdyCredential; 16 17 // This class provides facilities for building the various fields of 18 // SPDY CREDENTIAL frames. 19 class 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