proxygen
Types.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018-present, Facebook, Inc.
3  * All rights reserved.
4  *
5  * This source code is licensed under the BSD-style license found in the
6  * LICENSE file in the root directory of this source tree.
7  */
8 
9 #pragma once
10 
11 #include <fizz/record/Extensions.h>
12 #include <fizz/record/Types.h>
13 #include <folly/Optional.h>
14 
15 namespace fizz {
16 namespace extensions {
17 
20  "EXPORTER-Token-Binding"};
21 
23  token_binding_0_10 = 0x000a,
24  token_binding_0_11 = 0x000b,
25  token_binding_0_12 = 0x000c,
26  token_binding_0_13 = 0x000d,
27  token_binding_0_14 = 0x000e,
28  token_binding_0_15 = 0x000f,
29 };
30 
32 
34  rsa2048_pkcs1_5 = 0,
35  rsa2048_pss = 1,
36  ecdsap256 = 2,
37 };
38 
40 
43  std::vector<TokenBindingKeyParameters> key_parameters_list;
44 };
45 
49 };
50 
51 enum class TokenBindingType : uint8_t {
54 };
55 
56 struct TokenBinding {
60  // TODO: if extensions are added to the token binding protocol, make an
61  // extensions class that is only for token binding
63 };
64 
66  std::vector<TokenBinding> tokenbindings;
67 };
68 } // namespace extensions
69 
70 template <>
72  const std::vector<Extension>& extensions);
73 
74 template <>
76 
77 template <>
79 template <>
81 } // namespace fizz
Definition: test.c:42
constexpr folly::StringPiece kTokenBindingExporterLabel
Definition: Types.h:19
TokenBindingMessage decode(folly::io::Cursor &cursor)
Definition: Types.cpp:132
TokenBindingType tokenbinding_type
Definition: Types.h:57
TokenBindingKeyParameters
Definition: Types.h:33
folly::Optional< TokenBindingParameters > getExtension(const std::vector< Extension > &extensions)
Definition: Types.cpp:99
std::vector< TokenBinding > tokenbindings
Definition: Types.h:66
TokenBindingProtocolVersion version
Definition: Types.h:42
constexpr uint8_t kTokenBindingEkmSize
Definition: Types.h:18
constexpr Params params[]
Definition: Actions.h:16
TokenBindingKeyParameters key_parameters
Definition: Types.h:47
TokenBindingID tokenbindingid
Definition: Types.h:58
std::string toString(TokenBindingProtocolVersion)
Definition: Types.cpp:67
Buf encode(TokenBindingMessage &&message)
Definition: Types.cpp:124
std::vector< TokenBindingKeyParameters > key_parameters_list
Definition: Types.h:43
const char * string
Definition: Conv.cpp:212
std::unique_ptr< folly::IOBuf > Buf
Definition: Types.h:22
TokenBindingProtocolVersion
Definition: Types.h:22
Extension encodeExtension(const TokenBindingParameters &params)
Definition: Types.cpp:113