tpm2-tss 4.0.1
TPM Software stack 2.0 TCG spec compliant implementation
tpm_json_deserialize.h
1/* SPDX-License-Identifier: BSD-2-Clause */
2/*******************************************************************************
3 * Copyright 2018-2019, Fraunhofer SIT sponsored by Infineon Technologies AG
4 * All rights reserved.
5 ******************************************************************************/
6#ifndef FAPI_TPM_JSON_DESERIALIZE_H
7#define FAPI_TPM_JSON_DESERIALIZE_H
8
9#include <stdbool.h>
10#include <json-c/json.h>
11#include <json-c/json_util.h>
12
13#include "tss2_tpm2_types.h"
14#include "fapi_int.h"
15#define YES 1
16#define NO 0
17
18/* Deserialize according to the rules of parenttype and then filter against values
19 provided in the ... list. */
20#define SUBTYPE_FILTER(type, parenttype, ...) \
21 TSS2_RC r; \
22 type tab[] = { __VA_ARGS__ }; \
23 type v; \
24 r = ifapi_json_ ## parenttype ## _deserialize(jso, &v); \
25 return_if_error(r, "Bad value"); \
26 for (size_t i = 0; i < sizeof(tab) / sizeof(tab[0]); i++) { \
27 if (v == tab[i]) { \
28 *out = v; \
29 return TSS2_RC_SUCCESS; \
30 } \
31 } \
32 LOG_ERROR("Bad sub-value"); \
33 return TSS2_FAPI_RC_BAD_VALUE;
34
35json_object*
36ifapi_parse_json(const char *jstring) ;
37
38TSS2_RC
39ifapi_hex_to_byte_ary(const char hex[], UINT32 vlen, BYTE val[]);
40
41TSS2_RC
42ifapi_json_BYTE_array_deserialize(size_t max, json_object *jso, BYTE *out);
43
44TSS2_RC
45ifapi_json_UINT8_ARY_deserialize(json_object *jso, UINT8_ARY *out);
46
47bool
48ifapi_get_sub_object(json_object *jso, char *name, json_object **sub_jso);
49
50TSS2_RC
51ifapi_json_BYTE_deserialize(json_object *jso, BYTE *out);
52
53TSS2_RC
54ifapi_json_UINT16_deserialize(json_object *jso, UINT16 *out);
55
56TSS2_RC
57ifapi_json_UINT32_deserialize(json_object *jso, UINT32 *out);
58
59TSS2_RC
60ifapi_json_UINT64_deserialize(json_object *jso, UINT64 *out);
61
62TSS2_RC
63ifapi_json_TPM2_GENERATED_deserialize(json_object *jso, TPM2_GENERATED *out);
64
65TSS2_RC
66ifapi_json_TPM2_ALG_ID_deserialize(json_object *jso, TPM2_ALG_ID *out);
67
68TSS2_RC
69ifapi_json_TPM2_ECC_CURVE_deserialize(json_object *jso, TPM2_ECC_CURVE *out);
70
71TSS2_RC
72ifapi_json_TPM2_CC_deserialize(json_object *jso, TPM2_CC *out);
73
74TSS2_RC
75ifapi_json_TPM2_EO_deserialize(json_object *jso, TPM2_EO *out);
76
77TSS2_RC
78ifapi_json_TPM2_ST_deserialize(json_object *jso, TPM2_ST *out);
79
80TSS2_RC
81ifapi_json_TPM2_PT_PCR_deserialize(json_object *jso, TPM2_PT_PCR *out);
82
83TSS2_RC
84ifapi_json_TPM2_HANDLE_deserialize(json_object *jso, TPM2_HANDLE *out);
85
86TSS2_RC
87ifapi_json_TPMA_OBJECT_deserialize(json_object *jso, TPMA_OBJECT *out);
88
89TSS2_RC
90ifapi_json_TPMA_LOCALITY_deserialize(json_object *jso, TPMA_LOCALITY *out);
91
92TSS2_RC
93ifapi_json_TPMA_ACT_deserialize(json_object *jso, TPMA_ACT *out);
94
95TSS2_RC
96ifapi_json_TPMI_YES_NO_deserialize(json_object *jso, TPMI_YES_NO *out);
97
98TSS2_RC
100 TPMI_RH_HIERARCHY *out);
101
102TSS2_RC
104 TPMI_RH_NV_INDEX *out);
105
106TSS2_RC
107ifapi_json_TPMI_ALG_HASH_deserialize(json_object *jso, TPMI_ALG_HASH *out);
108
109TSS2_RC
110ifapi_json_TPMI_ALG_SYM_deserialize(json_object *jso, TPMI_ALG_SYM *out);
111
112TSS2_RC
114 TPMI_ALG_SYM_OBJECT *out);
115
116TSS2_RC
118 TPMI_ALG_CIPHER_MODE *out);
119
120TSS2_RC
122 TPMI_ALG_SYM_MODE *out);
123
124TSS2_RC
125ifapi_json_TPMI_ALG_KDF_deserialize(json_object *jso, TPMI_ALG_KDF *out);
126
127TSS2_RC
129 TPMI_ALG_SIG_SCHEME *out);
130
131TSS2_RC
132ifapi_json_TPMS_EMPTY_deserialize(json_object *jso, TPMS_EMPTY *out);
133
134TSS2_RC
135ifapi_json_TPMU_HA_deserialize(UINT32 selector, json_object *jso, TPMU_HA *out);
136
137TSS2_RC
138ifapi_json_TPMT_HA_deserialize(json_object *jso, TPMT_HA *out);
139
140TSS2_RC
141ifapi_json_TPM2B_DIGEST_deserialize(json_object *jso, TPM2B_DIGEST *out);
142
143TSS2_RC
144ifapi_json_TPM2B_DATA_deserialize(json_object *jso, TPM2B_DATA *out);
145
146TSS2_RC
147ifapi_json_TPM2B_NONCE_deserialize(json_object *jso, TPM2B_NONCE *out);
148
149TSS2_RC
150ifapi_json_TPM2B_OPERAND_deserialize(json_object *jso, TPM2B_OPERAND *out);
151
152TSS2_RC
153ifapi_json_TPM2B_EVENT_deserialize(json_object *jso, TPM2B_EVENT *out);
154
155TSS2_RC
157 TPM2B_MAX_NV_BUFFER *out);
158
159TSS2_RC
160ifapi_json_TPM2B_NAME_deserialize(json_object *jso, TPM2B_NAME *out);
161
162TSS2_RC
163ifapi_json_TPMS_PCR_SELECT_deserialize(json_object *jso, TPMS_PCR_SELECT *out);
164
165TSS2_RC
167 TPMS_PCR_SELECTION *out);
168
169TSS2_RC
170ifapi_json_TPMS_TAGGED_POLICY_deserialize(json_object *jso,
171 TPMS_TAGGED_POLICY *out);
172
173TSS2_RC
174ifapi_json_TPMS_ACT_DATA_deserialize(json_object *jso,
175 TPMS_ACT_DATA *out);
176
177TSS2_RC
179 TPMT_TK_CREATION *out);
180
181TSS2_RC
183 TPML_DIGEST_VALUES *out);
184
185TSS2_RC
187 TPML_PCR_SELECTION *out);
188
189TSS2_RC
190ifapi_json_TPMS_CLOCK_INFO_deserialize(json_object *jso, TPMS_CLOCK_INFO *out);
191
192TSS2_RC
193ifapi_json_TPMS_TIME_INFO_deserialize(json_object *jso, TPMS_TIME_INFO *out);
194
195TSS2_RC
197 TPMS_TIME_ATTEST_INFO *out);
198
199TSS2_RC
201 TPMS_CERTIFY_INFO *out);
202
203TSS2_RC
204ifapi_json_TPMS_QUOTE_INFO_deserialize(json_object *jso, TPMS_QUOTE_INFO *out);
205
206TSS2_RC
208 TPMS_COMMAND_AUDIT_INFO *out);
209
210TSS2_RC
212 TPMS_SESSION_AUDIT_INFO *out);
213
214TSS2_RC
216 TPMS_CREATION_INFO *out);
217
218TSS2_RC
220 TPMS_NV_CERTIFY_INFO *out);
221
222TSS2_RC
223ifapi_json_TPMI_ST_ATTEST_deserialize(json_object *jso, TPMI_ST_ATTEST *out);
224
225TSS2_RC
226ifapi_json_TPMU_ATTEST_deserialize(UINT32 selector, json_object *jso,
227 TPMU_ATTEST *out);
228
229TSS2_RC
230ifapi_json_TPMS_ATTEST_deserialize(json_object *jso, TPMS_ATTEST *out);
231
232TSS2_RC
234 TPMI_AES_KEY_BITS *out);
235
236TSS2_RC
237ifapi_json_TPMU_SYM_KEY_BITS_deserialize(UINT32 selector, json_object *jso,
238 TPMU_SYM_KEY_BITS *out);
239
240TSS2_RC
241ifapi_json_TPMU_SYM_MODE_deserialize(UINT32 selector, json_object *jso,
242 TPMU_SYM_MODE *out);
243
244TSS2_RC
245ifapi_json_TPMT_SYM_DEF_deserialize(json_object *jso, TPMT_SYM_DEF *out);
246
247TSS2_RC
249 TPMT_SYM_DEF_OBJECT *out);
250
251TSS2_RC
253 TPMS_SYMCIPHER_PARMS *out);
254
255TSS2_RC
257 TPMS_SCHEME_HASH *out);
258
259TSS2_RC
261 TPMS_SCHEME_ECDAA *out);
262
263TSS2_RC
265 TPMI_ALG_KEYEDHASH_SCHEME *out);
266
267TSS2_RC
269 TPMS_SCHEME_HMAC *out);
270
271TSS2_RC
272ifapi_json_TPMS_SCHEME_XOR_deserialize(json_object *jso, TPMS_SCHEME_XOR *out);
273
274TSS2_RC
275ifapi_json_TPMU_SCHEME_KEYEDHASH_deserialize(UINT32 selector, json_object *jso,
276 TPMU_SCHEME_KEYEDHASH *out);
277
278TSS2_RC
280 TPMT_KEYEDHASH_SCHEME *out);
281
282TSS2_RC
284 TPMS_SIG_SCHEME_RSASSA *out);
285
286TSS2_RC
288 TPMS_SIG_SCHEME_RSAPSS *out);
289
290TSS2_RC
292 TPMS_SIG_SCHEME_ECDSA *out);
293
294TSS2_RC
296 TPMS_SIG_SCHEME_SM2 *out);
297
298TSS2_RC
300 TPMS_SIG_SCHEME_ECSCHNORR *out);
301
302TSS2_RC
304 TPMS_SIG_SCHEME_ECDAA *out);
305
306TSS2_RC
307ifapi_json_TPMU_SIG_SCHEME_deserialize(UINT32 selector, json_object *jso,
308 TPMU_SIG_SCHEME *out);
309
310TSS2_RC
311ifapi_json_TPMT_SIG_SCHEME_deserialize(json_object *jso, TPMT_SIG_SCHEME *out);
312
313TSS2_RC
315 TPMS_ENC_SCHEME_OAEP *out);
316
317TSS2_RC
319 TPMS_ENC_SCHEME_RSAES *out);
320
321TSS2_RC
323 TPMS_KEY_SCHEME_ECDH *out);
324
325TSS2_RC
327 TPMS_SCHEME_MGF1 *out);
328
329TSS2_RC
331 TPMS_SCHEME_KDF1_SP800_56A *out);
332
333TSS2_RC
335 TPMS_SCHEME_KDF1_SP800_108 *out);
336
337TSS2_RC
338ifapi_json_TPMU_KDF_SCHEME_deserialize(UINT32 selector, json_object *jso,
339 TPMU_KDF_SCHEME *out);
340
341TSS2_RC
342ifapi_json_TPMT_KDF_SCHEME_deserialize(json_object *jso, TPMT_KDF_SCHEME *out);
343
344TSS2_RC
345ifapi_json_TPMU_ASYM_SCHEME_deserialize(UINT32 selector, json_object *jso,
346 TPMU_ASYM_SCHEME *out);
347
348TSS2_RC
350 TPMI_ALG_RSA_SCHEME *out);
351
352TSS2_RC
353ifapi_json_TPMT_RSA_SCHEME_deserialize(json_object *jso, TPMT_RSA_SCHEME *out);
354
355TSS2_RC
357 TPMI_ALG_RSA_DECRYPT *out);
358
359TSS2_RC
361 TPMT_RSA_DECRYPT *out);
362
363TSS2_RC
365 TPM2B_PUBLIC_KEY_RSA *out);
366
367TSS2_RC
369 TPMI_RSA_KEY_BITS *out);
370
371TSS2_RC
373 TPM2B_ECC_PARAMETER *out);
374
375TSS2_RC
376ifapi_json_TPMS_ECC_POINT_deserialize(json_object *jso, TPMS_ECC_POINT *out);
377
378TSS2_RC
380 TPMI_ALG_ECC_SCHEME *out);
381
382TSS2_RC
383ifapi_json_TPMI_ECC_CURVE_deserialize(json_object *jso, TPMI_ECC_CURVE *out);
384
385TSS2_RC
386ifapi_json_TPMT_ECC_SCHEME_deserialize(json_object *jso, TPMT_ECC_SCHEME *out);
387
388TSS2_RC
390 TPMS_SIGNATURE_RSA *out);
391
392TSS2_RC
394 TPMS_SIGNATURE_RSASSA *out);
395
396TSS2_RC
398 TPMS_SIGNATURE_RSAPSS *out);
399
400TSS2_RC
402 TPMS_SIGNATURE_ECC *out);
403
404TSS2_RC
406 TPMS_SIGNATURE_ECDSA *out);
407
408TSS2_RC
410 TPMS_SIGNATURE_ECDAA *out);
411
412TSS2_RC
414 TPMS_SIGNATURE_SM2 *out);
415
416TSS2_RC
418 TPMS_SIGNATURE_ECSCHNORR *out);
419
420TSS2_RC
421ifapi_json_TPMU_SIGNATURE_deserialize(UINT32 selector, json_object *jso,
422 TPMU_SIGNATURE *out);
423
424TSS2_RC
425ifapi_json_TPMT_SIGNATURE_deserialize(json_object *jso, TPMT_SIGNATURE *out);
426
427TSS2_RC
429 TPM2B_ENCRYPTED_SECRET *out);
430
431TSS2_RC
432ifapi_json_TPMI_ALG_PUBLIC_deserialize(json_object *jso, TPMI_ALG_PUBLIC *out);
433
434TSS2_RC
435ifapi_json_TPMU_PUBLIC_ID_deserialize(UINT32 selector, json_object *jso,
436 TPMU_PUBLIC_ID *out);
437
438TSS2_RC
440 TPMS_KEYEDHASH_PARMS *out);
441
442TSS2_RC
443ifapi_json_TPMS_RSA_PARMS_deserialize(json_object *jso, TPMS_RSA_PARMS *out);
444
445TSS2_RC
446ifapi_json_TPMS_ECC_PARMS_deserialize(json_object *jso, TPMS_ECC_PARMS *out);
447
448TSS2_RC
449ifapi_json_TPMU_PUBLIC_PARMS_deserialize(UINT32 selector, json_object *jso,
450 TPMU_PUBLIC_PARMS *out);
451
452TSS2_RC
453ifapi_json_TPMT_PUBLIC_deserialize(json_object *jso, TPMT_PUBLIC *out);
454
455TSS2_RC
456ifapi_json_TPM2B_PUBLIC_deserialize(json_object *jso, TPM2B_PUBLIC *out);
457
458TSS2_RC
459ifapi_json_TPM2B_PRIVATE_deserialize(json_object *jso, TPM2B_PRIVATE *out);
460
461TSS2_RC
462ifapi_json_TPM2_NT_deserialize(json_object *jso, TPM2_NT *out);
463
464TSS2_RC
465ifapi_json_TPMA_NV_deserialize(json_object *jso, TPMA_NV *out);
466
467TSS2_RC
468ifapi_json_TPMS_NV_PUBLIC_deserialize(json_object *jso, TPMS_NV_PUBLIC *out);
469
470TSS2_RC
471ifapi_json_TPM2B_NV_PUBLIC_deserialize(json_object *jso, TPM2B_NV_PUBLIC *out);
472
473TSS2_RC
475 TPMS_CREATION_DATA *out);
476
477TSS2_RC
479 TPM2B_CREATION_DATA *out);
480
481#endif /* FAPI_TPM_JSON_DESERIALIZE_H */
TSS2_RC ifapi_json_UINT32_deserialize(json_object *jso, UINT32 *out)
Definition: tpm_json_deserialize.c:619
TSS2_RC ifapi_json_TPMI_RH_HIERARCHY_deserialize(json_object *jso, TPMI_RH_HIERARCHY *out)
Definition: tpm_json_deserialize.c:1428
TSS2_RC ifapi_json_TPM2_PT_PCR_deserialize(json_object *jso, TPM2_PT_PCR *out)
Definition: tpm_json_deserialize.c:1052
TSS2_RC ifapi_json_TPMS_ECC_POINT_deserialize(json_object *jso, TPMS_ECC_POINT *out)
Definition: tpm_json_deserialize.c:3626
TSS2_RC ifapi_json_TPMU_ASYM_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_ASYM_SCHEME *out)
Definition: tpm_json_deserialize.c:3392
TSS2_RC ifapi_json_TPM2_NT_deserialize(json_object *jso, TPM2_NT *out)
Definition: tpm_json_deserialize.c:4408
TSS2_RC ifapi_json_TPMA_OBJECT_deserialize(json_object *jso, TPMA_OBJECT *out)
Definition: tpm_json_deserialize.c:1126
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECDAA_deserialize(json_object *jso, TPMS_SIGNATURE_ECDAA *out)
Definition: tpm_json_deserialize.c:3880
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECDSA_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECDSA *out)
Definition: tpm_json_deserialize.c:3062
TSS2_RC ifapi_json_TPMS_CERTIFY_INFO_deserialize(json_object *jso, TPMS_CERTIFY_INFO *out)
Definition: tpm_json_deserialize.c:2132
TSS2_RC ifapi_json_TPMS_KEYEDHASH_PARMS_deserialize(json_object *jso, TPMS_KEYEDHASH_PARMS *out)
Definition: tpm_json_deserialize.c:4092
TSS2_RC ifapi_json_TPMU_SIGNATURE_deserialize(UINT32 selector, json_object *jso, TPMU_SIGNATURE *out)
Definition: tpm_json_deserialize.c:3930
TSS2_RC ifapi_json_TPM2B_NONCE_deserialize(json_object *jso, TPM2B_NONCE *out)
Definition: tpm_json_deserialize.c:1736
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECSCHNORR_deserialize(json_object *jso, TPMS_SIGNATURE_ECSCHNORR *out)
Definition: tpm_json_deserialize.c:3912
TSS2_RC ifapi_json_TPMT_SYM_DEF_OBJECT_deserialize(json_object *jso, TPMT_SYM_DEF_OBJECT *out)
Definition: tpm_json_deserialize.c:2715
TSS2_RC ifapi_json_TPM2B_NV_PUBLIC_deserialize(json_object *jso, TPM2B_NV_PUBLIC *out)
Definition: tpm_json_deserialize.c:4646
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECDSA_deserialize(json_object *jso, TPMS_SIGNATURE_ECDSA *out)
Definition: tpm_json_deserialize.c:3864
TSS2_RC ifapi_json_TPMS_SCHEME_ECDAA_deserialize(json_object *jso, TPMS_SCHEME_ECDAA *out)
Definition: tpm_json_deserialize.c:2839
TSS2_RC ifapi_json_TPM2_ALG_ID_deserialize(json_object *jso, TPM2_ALG_ID *out)
Definition: tpm_json_deserialize.c:718
TSS2_RC ifapi_json_TPMT_TK_CREATION_deserialize(json_object *jso, TPMT_TK_CREATION *out)
Definition: tpm_json_deserialize.c:1853
TSS2_RC ifapi_json_TPMS_ATTEST_deserialize(json_object *jso, TPMS_ATTEST *out)
Definition: tpm_json_deserialize.c:2482
TSS2_RC ifapi_json_TPMI_ALG_SYM_deserialize(json_object *jso, TPMI_ALG_SYM *out)
Definition: tpm_json_deserialize.c:1487
TSS2_RC ifapi_json_TPMS_ENC_SCHEME_OAEP_deserialize(json_object *jso, TPMS_ENC_SCHEME_OAEP *out)
Definition: tpm_json_deserialize.c:3213
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_RSASSA_deserialize(json_object *jso, TPMS_SIG_SCHEME_RSASSA *out)
Definition: tpm_json_deserialize.c:3028
TSS2_RC ifapi_json_TPMT_SIG_SCHEME_deserialize(json_object *jso, TPMT_SIG_SCHEME *out)
Definition: tpm_json_deserialize.c:3174
TSS2_RC ifapi_json_UINT8_ARY_deserialize(json_object *jso, UINT8_ARY *out)
Definition: tpm_json_deserialize.c:336
TSS2_RC ifapi_json_TPMI_ALG_CIPHER_MODE_deserialize(json_object *jso, TPMI_ALG_CIPHER_MODE *out)
Definition: tpm_json_deserialize.c:1531
TSS2_RC ifapi_json_TPMU_SIG_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_SIG_SCHEME *out)
Definition: tpm_json_deserialize.c:3128
TSS2_RC ifapi_json_TPM2B_ENCRYPTED_SECRET_deserialize(json_object *jso, TPM2B_ENCRYPTED_SECRET *out)
Definition: tpm_json_deserialize.c:4014
TSS2_RC ifapi_json_TPMI_ST_ATTEST_deserialize(json_object *jso, TPMI_ST_ATTEST *out)
Definition: tpm_json_deserialize.c:2412
TSS2_RC ifapi_json_TPMS_RSA_PARMS_deserialize(json_object *jso, TPMS_RSA_PARMS *out)
Definition: tpm_json_deserialize.c:4130
TSS2_RC ifapi_json_TPMI_ALG_RSA_DECRYPT_deserialize(json_object *jso, TPMI_ALG_RSA_DECRYPT *out)
Definition: tpm_json_deserialize.c:3493
TSS2_RC ifapi_json_TPMS_ECC_PARMS_deserialize(json_object *jso, TPMS_ECC_PARMS *out)
Definition: tpm_json_deserialize.c:4188
TSS2_RC ifapi_json_TPMI_RH_NV_INDEX_deserialize(json_object *jso, TPMI_RH_NV_INDEX *out)
Definition: tpm_json_deserialize.c:1460
TSS2_RC ifapi_json_TPMT_SYM_DEF_deserialize(json_object *jso, TPMT_SYM_DEF *out)
Definition: tpm_json_deserialize.c:2660
TSS2_RC ifapi_json_TPMS_KEY_SCHEME_ECDH_deserialize(json_object *jso, TPMS_KEY_SCHEME_ECDH *out)
Definition: tpm_json_deserialize.c:3246
TSS2_RC ifapi_json_TPM2B_DATA_deserialize(json_object *jso, TPM2B_DATA *out)
Definition: tpm_json_deserialize.c:1708
TSS2_RC ifapi_json_TPM2B_DIGEST_deserialize(json_object *jso, TPM2B_DIGEST *out)
Definition: tpm_json_deserialize.c:1682
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECSCHNORR_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECSCHNORR *out)
Definition: tpm_json_deserialize.c:3094
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSA_deserialize(json_object *jso, TPMS_SIGNATURE_RSA *out)
Definition: tpm_json_deserialize.c:3740
TSS2_RC ifapi_json_TPM2B_OPERAND_deserialize(json_object *jso, TPM2B_OPERAND *out)
Definition: tpm_json_deserialize.c:1753
TSS2_RC ifapi_json_TPMS_SCHEME_KDF1_SP800_56A_deserialize(json_object *jso, TPMS_SCHEME_KDF1_SP800_56A *out)
Definition: tpm_json_deserialize.c:3279
TSS2_RC ifapi_json_TPMS_SESSION_AUDIT_INFO_deserialize(json_object *jso, TPMS_SESSION_AUDIT_INFO *out)
Definition: tpm_json_deserialize.c:2281
TSS2_RC ifapi_json_BYTE_deserialize(json_object *jso, BYTE *out)
Definition: tpm_json_deserialize.c:544
TSS2_RC ifapi_json_TPM2B_CREATION_DATA_deserialize(json_object *jso, TPM2B_CREATION_DATA *out)
Definition: tpm_json_deserialize.c:4771
TSS2_RC ifapi_json_TPMI_YES_NO_deserialize(json_object *jso, TPMI_YES_NO *out)
Definition: tpm_json_deserialize.c:1397
TSS2_RC ifapi_json_TPMU_SCHEME_KEYEDHASH_deserialize(UINT32 selector, json_object *jso, TPMU_SCHEME_KEYEDHASH *out)
Definition: tpm_json_deserialize.c:2951
TSS2_RC ifapi_json_TPMS_CREATION_DATA_deserialize(json_object *jso, TPMS_CREATION_DATA *out)
Definition: tpm_json_deserialize.c:4694
TSS2_RC ifapi_json_TPMS_CLOCK_INFO_deserialize(json_object *jso, TPMS_CLOCK_INFO *out)
Definition: tpm_json_deserialize.c:1991
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECDAA_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECDAA *out)
Definition: tpm_json_deserialize.c:3110
TSS2_RC ifapi_json_TPMS_SCHEME_HASH_deserialize(json_object *jso, TPMS_SCHEME_HASH *out)
Definition: tpm_json_deserialize.c:2803
TSS2_RC ifapi_json_TPM2B_ECC_PARAMETER_deserialize(json_object *jso, TPM2B_ECC_PARAMETER *out)
Definition: tpm_json_deserialize.c:3593
TSS2_RC ifapi_hex_to_byte_ary(const char hex[], UINT32 vlen, BYTE val[])
Definition: tpm_json_deserialize.c:117
TSS2_RC ifapi_json_TPMI_ALG_PUBLIC_deserialize(json_object *jso, TPMI_ALG_PUBLIC *out)
Definition: tpm_json_deserialize.c:4040
TSS2_RC ifapi_json_TPMS_TIME_ATTEST_INFO_deserialize(json_object *jso, TPMS_TIME_ATTEST_INFO *out)
Definition: tpm_json_deserialize.c:2089
TSS2_RC ifapi_json_UINT64_deserialize(json_object *jso, UINT64 *out)
Definition: tpm_json_deserialize.c:644
TSS2_RC ifapi_json_TPMI_ALG_KEYEDHASH_SCHEME_deserialize(json_object *jso, TPMI_ALG_KEYEDHASH_SCHEME *out)
Definition: tpm_json_deserialize.c:2874
TSS2_RC ifapi_json_TPMT_KEYEDHASH_SCHEME_deserialize(json_object *jso, TPMT_KEYEDHASH_SCHEME *out)
Definition: tpm_json_deserialize.c:2987
TSS2_RC ifapi_json_TPMI_ALG_SYM_MODE_deserialize(json_object *jso, TPMI_ALG_SYM_MODE *out)
Definition: tpm_json_deserialize.c:1516
TSS2_RC ifapi_json_TPMI_AES_KEY_BITS_deserialize(json_object *jso, TPMI_AES_KEY_BITS *out)
Definition: tpm_json_deserialize.c:2549
TSS2_RC ifapi_json_TPMT_SIGNATURE_deserialize(json_object *jso, TPMT_SIGNATURE *out)
Definition: tpm_json_deserialize.c:3977
TSS2_RC ifapi_json_TPMS_NV_PUBLIC_deserialize(json_object *jso, TPMS_NV_PUBLIC *out)
Definition: tpm_json_deserialize.c:4583
TSS2_RC ifapi_json_TPMI_ALG_RSA_SCHEME_deserialize(json_object *jso, TPMI_ALG_RSA_SCHEME *out)
Definition: tpm_json_deserialize.c:3435
TSS2_RC ifapi_json_TPMU_SYM_KEY_BITS_deserialize(UINT32 selector, json_object *jso, TPMU_SYM_KEY_BITS *out)
Definition: tpm_json_deserialize.c:2588
TSS2_RC ifapi_json_TPMS_PCR_SELECT_deserialize(json_object *jso, TPMS_PCR_SELECT *out)
Definition: tpm_json_deserialize.c:361
TSS2_RC ifapi_json_TPMU_PUBLIC_PARMS_deserialize(UINT32 selector, json_object *jso, TPMU_PUBLIC_PARMS *out)
Definition: tpm_json_deserialize.c:4239
TSS2_RC ifapi_json_TPMS_SCHEME_MGF1_deserialize(json_object *jso, TPMS_SCHEME_MGF1 *out)
Definition: tpm_json_deserialize.c:3264
TSS2_RC ifapi_json_TPMI_ALG_HASH_deserialize(json_object *jso, TPMI_ALG_HASH *out)
Definition: tpm_json_deserialize.c:1473
TSS2_RC ifapi_json_TPMS_EMPTY_deserialize(json_object *jso, TPMS_EMPTY *out)
Definition: tpm_json_deserialize.c:100
TSS2_RC ifapi_json_TPM2B_PUBLIC_KEY_RSA_deserialize(json_object *jso, TPM2B_PUBLIC_KEY_RSA *out)
Definition: tpm_json_deserialize.c:3553
TSS2_RC ifapi_json_TPMT_KDF_SCHEME_deserialize(json_object *jso, TPMT_KDF_SCHEME *out)
Definition: tpm_json_deserialize.c:3353
TSS2_RC ifapi_json_TPMS_SIGNATURE_SM2_deserialize(json_object *jso, TPMS_SIGNATURE_SM2 *out)
Definition: tpm_json_deserialize.c:3896
bool ifapi_get_sub_object(json_object *jso, char *name, json_object **sub_jso)
Definition: tpm_json_deserialize.c:226
TSS2_RC ifapi_json_TPMS_COMMAND_AUDIT_INFO_deserialize(json_object *jso, TPMS_COMMAND_AUDIT_INFO *out)
Definition: tpm_json_deserialize.c:2223
TSS2_RC ifapi_json_TPMS_TIME_INFO_deserialize(json_object *jso, TPMS_TIME_INFO *out)
Definition: tpm_json_deserialize.c:2047
TSS2_RC ifapi_json_TPM2B_MAX_NV_BUFFER_deserialize(json_object *jso, TPM2B_MAX_NV_BUFFER *out)
Definition: tpm_json_deserialize.c:1793
TSS2_RC ifapi_json_TPMU_HA_deserialize(UINT32 selector, json_object *jso, TPMU_HA *out)
Definition: tpm_json_deserialize.c:1579
TSS2_RC ifapi_json_TPMS_CREATION_INFO_deserialize(json_object *jso, TPMS_CREATION_INFO *out)
Definition: tpm_json_deserialize.c:2325
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSASSA_deserialize(json_object *jso, TPMS_SIGNATURE_RSASSA *out)
Definition: tpm_json_deserialize.c:3778
TSS2_RC ifapi_json_TPMU_PUBLIC_ID_deserialize(UINT32 selector, json_object *jso, TPMU_PUBLIC_ID *out)
Definition: tpm_json_deserialize.c:4057
TSS2_RC ifapi_json_TPM2_GENERATED_deserialize(json_object *jso, TPM2_GENERATED *out)
Definition: tpm_json_deserialize.c:688
TSS2_RC ifapi_json_BYTE_array_deserialize(size_t max, json_object *jso, BYTE *out)
Definition: tpm_json_deserialize.c:515
TSS2_RC ifapi_json_TPMU_ATTEST_deserialize(UINT32 selector, json_object *jso, TPMU_ATTEST *out)
Definition: tpm_json_deserialize.c:2431
TSS2_RC ifapi_json_TPMT_HA_deserialize(json_object *jso, TPMT_HA *out)
Definition: tpm_json_deserialize.c:1645
TSS2_RC ifapi_json_TPM2B_NAME_deserialize(json_object *jso, TPM2B_NAME *out)
Definition: tpm_json_deserialize.c:1820
TSS2_RC ifapi_json_TPMS_ENC_SCHEME_RSAES_deserialize(json_object *jso, TPMS_ENC_SCHEME_RSAES *out)
Definition: tpm_json_deserialize.c:3228
TSS2_RC ifapi_json_TPMI_ALG_KDF_deserialize(json_object *jso, TPMI_ALG_KDF *out)
Definition: tpm_json_deserialize.c:1546
TSS2_RC ifapi_json_TPMS_SCHEME_XOR_deserialize(json_object *jso, TPMS_SCHEME_XOR *out)
Definition: tpm_json_deserialize.c:2914
TSS2_RC ifapi_json_TPMS_SYMCIPHER_PARMS_deserialize(json_object *jso, TPMS_SYMCIPHER_PARMS *out)
Definition: tpm_json_deserialize.c:2768
TSS2_RC ifapi_json_TPM2_HANDLE_deserialize(json_object *jso, TPM2_HANDLE *out)
Definition: tpm_json_deserialize.c:1100
TSS2_RC ifapi_json_TPMU_SYM_MODE_deserialize(UINT32 selector, json_object *jso, TPMU_SYM_MODE *out)
Definition: tpm_json_deserialize.c:2622
TSS2_RC ifapi_json_TPML_DIGEST_VALUES_deserialize(json_object *jso, TPML_DIGEST_VALUES *out)
Definition: tpm_json_deserialize.c:1899
TSS2_RC ifapi_json_TPMS_SCHEME_KDF1_SP800_108_deserialize(json_object *jso, TPMS_SCHEME_KDF1_SP800_108 *out)
Definition: tpm_json_deserialize.c:3295
TSS2_RC ifapi_json_TPMI_ALG_SYM_OBJECT_deserialize(json_object *jso, TPMI_ALG_SYM_OBJECT *out)
Definition: tpm_json_deserialize.c:1501
TSS2_RC ifapi_json_TPM2B_EVENT_deserialize(json_object *jso, TPM2B_EVENT *out)
Definition: tpm_json_deserialize.c:1768
TSS2_RC ifapi_json_TPMI_RSA_KEY_BITS_deserialize(json_object *jso, TPMI_RSA_KEY_BITS *out)
Definition: tpm_json_deserialize.c:3577
TSS2_RC ifapi_json_TPMU_KDF_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_KDF_SCHEME *out)
Definition: tpm_json_deserialize.c:3313
TSS2_RC ifapi_json_TPMS_PCR_SELECTION_deserialize(json_object *jso, TPMS_PCR_SELECTION *out)
Definition: tpm_json_deserialize.c:385
TSS2_RC ifapi_json_TPM2B_PUBLIC_deserialize(json_object *jso, TPM2B_PUBLIC *out)
Definition: tpm_json_deserialize.c:4351
TSS2_RC ifapi_json_UINT16_deserialize(json_object *jso, UINT16 *out)
Definition: tpm_json_deserialize.c:594
TSS2_RC ifapi_json_TPMS_SCHEME_HMAC_deserialize(json_object *jso, TPMS_SCHEME_HMAC *out)
Definition: tpm_json_deserialize.c:2892
TSS2_RC ifapi_json_TPM2_ST_deserialize(json_object *jso, TPM2_ST *out)
Definition: tpm_json_deserialize.c:1006
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECC_deserialize(json_object *jso, TPMS_SIGNATURE_ECC *out)
Definition: tpm_json_deserialize.c:3819
TSS2_RC ifapi_json_TPMI_ALG_SIG_SCHEME_deserialize(json_object *jso, TPMI_ALG_SIG_SCHEME *out)
Definition: tpm_json_deserialize.c:1560
TSS2_RC ifapi_json_TPMS_NV_CERTIFY_INFO_deserialize(json_object *jso, TPMS_NV_CERTIFY_INFO *out)
Definition: tpm_json_deserialize.c:2370
TSS2_RC ifapi_json_TPMI_ECC_CURVE_deserialize(json_object *jso, TPMI_ECC_CURVE *out)
Definition: tpm_json_deserialize.c:3674
TSS2_RC ifapi_json_TPMI_ALG_ECC_SCHEME_deserialize(json_object *jso, TPMI_ALG_ECC_SCHEME *out)
Definition: tpm_json_deserialize.c:3660
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSAPSS_deserialize(json_object *jso, TPMS_SIGNATURE_RSAPSS *out)
Definition: tpm_json_deserialize.c:3794
TSS2_RC ifapi_json_TPMT_RSA_SCHEME_deserialize(json_object *jso, TPMT_RSA_SCHEME *out)
Definition: tpm_json_deserialize.c:3457
TSS2_RC ifapi_json_TPM2_ECC_CURVE_deserialize(json_object *jso, TPM2_ECC_CURVE *out)
Definition: tpm_json_deserialize.c:783
TSS2_RC ifapi_json_TPM2_CC_deserialize(json_object *jso, TPM2_CC *out)
Definition: tpm_json_deserialize.c:821
TSS2_RC ifapi_json_TPMT_ECC_SCHEME_deserialize(json_object *jso, TPMT_ECC_SCHEME *out)
Definition: tpm_json_deserialize.c:3697
TSS2_RC ifapi_json_TPM2_EO_deserialize(json_object *jso, TPM2_EO *out)
Definition: tpm_json_deserialize.c:965
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_SM2_deserialize(json_object *jso, TPMS_SIG_SCHEME_SM2 *out)
Definition: tpm_json_deserialize.c:3078
TSS2_RC ifapi_json_TPMT_PUBLIC_deserialize(json_object *jso, TPMT_PUBLIC *out)
Definition: tpm_json_deserialize.c:4282
TSS2_RC ifapi_json_TPM2B_PRIVATE_deserialize(json_object *jso, TPM2B_PRIVATE *out)
Definition: tpm_json_deserialize.c:4382
TSS2_RC ifapi_json_TPMA_NV_deserialize(json_object *jso, TPMA_NV *out)
Definition: tpm_json_deserialize.c:4444
TSS2_RC ifapi_json_TPML_PCR_SELECTION_deserialize(json_object *jso, TPML_PCR_SELECTION *out)
Definition: tpm_json_deserialize.c:1940
TSS2_RC ifapi_json_TPMT_RSA_DECRYPT_deserialize(json_object *jso, TPMT_RSA_DECRYPT *out)
Definition: tpm_json_deserialize.c:3515
TSS2_RC ifapi_json_TPMS_QUOTE_INFO_deserialize(json_object *jso, TPMS_QUOTE_INFO *out)
Definition: tpm_json_deserialize.c:2176
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_RSAPSS_deserialize(json_object *jso, TPMS_SIG_SCHEME_RSAPSS *out)
Definition: tpm_json_deserialize.c:3044
TSS2_RC ifapi_json_TPMA_LOCALITY_deserialize(json_object *jso, TPMA_LOCALITY *out)
Definition: tpm_json_deserialize.c:1216
Definition: fapi_types.h:15