Home | History | Annotate | Download | only in spdy
      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