tpm2-tss 4.2.0
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 <json.h> // for json_object
10#include <stdbool.h> // for bool
11#include <stddef.h> // for size_t
12
13#include "fapi_types.h" // for UINT8_ARY
14#include "tss2_common.h" // for TSS2_RC, UINT32, BYTE, UINT16, UINT64
15#include "tss2_tpm2_types.h" // for TPM2B_CREATION_DATA, TPM2B_DATA, TPM2B_...
16
17#define YES 1
18#define NO 0
19
20json_object *ifapi_parse_json(const char *jstring);
21
22TSS2_RC
23ifapi_hex_to_byte_ary(const char hex[], UINT32 vlen, BYTE val[]);
24
25TSS2_RC
26ifapi_json_BYTE_array_deserialize(size_t max, json_object *jso, BYTE *out);
27
28TSS2_RC
29ifapi_json_UINT8_ARY_deserialize(json_object *jso, UINT8_ARY *out);
30
31bool ifapi_get_sub_object(json_object *jso, char *name, json_object **sub_jso);
32
33TSS2_RC
34ifapi_json_BYTE_deserialize(json_object *jso, BYTE *out);
35
36TSS2_RC
37ifapi_json_UINT16_deserialize(json_object *jso, UINT16 *out);
38
39TSS2_RC
40ifapi_json_UINT32_deserialize(json_object *jso, UINT32 *out);
41
42TSS2_RC
43ifapi_json_UINT64_deserialize(json_object *jso, UINT64 *out);
44
45TSS2_RC
46ifapi_json_TPM2_GENERATED_deserialize(json_object *jso, TPM2_GENERATED *out);
47
48TSS2_RC
49ifapi_json_TPM2_ALG_ID_deserialize(json_object *jso, TPM2_ALG_ID *out);
50
51TSS2_RC
52ifapi_json_TPM2_ECC_CURVE_deserialize(json_object *jso, TPM2_ECC_CURVE *out);
53
54TSS2_RC
55ifapi_json_TPM2_CC_deserialize(json_object *jso, TPM2_CC *out);
56
57TSS2_RC
58ifapi_json_TPM2_EO_deserialize(json_object *jso, TPM2_EO *out);
59
60TSS2_RC
61ifapi_json_TPM2_ST_deserialize(json_object *jso, TPM2_ST *out);
62
63TSS2_RC
64ifapi_json_TPM2_PT_PCR_deserialize(json_object *jso, TPM2_PT_PCR *out);
65
66TSS2_RC
67ifapi_json_TPM2_HANDLE_deserialize(json_object *jso, TPM2_HANDLE *out);
68
69TSS2_RC
70ifapi_json_TPMA_OBJECT_deserialize(json_object *jso, TPMA_OBJECT *out);
71
72TSS2_RC
73ifapi_json_TPMA_LOCALITY_deserialize(json_object *jso, TPMA_LOCALITY *out);
74
75TSS2_RC
76ifapi_json_TPMA_ACT_deserialize(json_object *jso, TPMA_ACT *out);
77
78TSS2_RC
79ifapi_json_TPMI_YES_NO_deserialize(json_object *jso, TPMI_YES_NO *out);
80
81TSS2_RC
82ifapi_json_TPMI_RH_HIERARCHY_deserialize(json_object *jso, TPMI_RH_HIERARCHY *out);
83
84TSS2_RC
85ifapi_json_TPMI_RH_NV_INDEX_deserialize(json_object *jso, TPMI_RH_NV_INDEX *out);
86
87TSS2_RC
88ifapi_json_TPMI_ALG_HASH_deserialize(json_object *jso, TPMI_ALG_HASH *out);
89
90TSS2_RC
91ifapi_json_TPMI_ALG_SYM_deserialize(json_object *jso, TPMI_ALG_SYM *out);
92
93TSS2_RC
94ifapi_json_TPMI_ALG_SYM_OBJECT_deserialize(json_object *jso, TPMI_ALG_SYM_OBJECT *out);
95
96TSS2_RC
97ifapi_json_TPMI_ALG_CIPHER_MODE_deserialize(json_object *jso, TPMI_ALG_CIPHER_MODE *out);
98
99TSS2_RC
100ifapi_json_TPMI_ALG_SYM_MODE_deserialize(json_object *jso, TPMI_ALG_SYM_MODE *out);
101
102TSS2_RC
103ifapi_json_TPMI_ALG_KDF_deserialize(json_object *jso, TPMI_ALG_KDF *out);
104
105TSS2_RC
106ifapi_json_TPMI_ALG_SIG_SCHEME_deserialize(json_object *jso, TPMI_ALG_SIG_SCHEME *out);
107
108TSS2_RC
109ifapi_json_TPMS_EMPTY_deserialize(json_object *jso, TPMS_EMPTY *out);
110
111TSS2_RC
112ifapi_json_TPMU_HA_deserialize(UINT32 selector, json_object *jso, TPMU_HA *out);
113
114TSS2_RC
115ifapi_json_TPMT_HA_deserialize(json_object *jso, TPMT_HA *out);
116
117TSS2_RC
118ifapi_json_TPM2B_DIGEST_deserialize(json_object *jso, TPM2B_DIGEST *out);
119
120TSS2_RC
121ifapi_json_TPM2B_DATA_deserialize(json_object *jso, TPM2B_DATA *out);
122
123TSS2_RC
124ifapi_json_TPM2B_NONCE_deserialize(json_object *jso, TPM2B_NONCE *out);
125
126TSS2_RC
127ifapi_json_TPM2B_OPERAND_deserialize(json_object *jso, TPM2B_OPERAND *out);
128
129TSS2_RC
130ifapi_json_TPM2B_EVENT_deserialize(json_object *jso, TPM2B_EVENT *out);
131
132TSS2_RC
133ifapi_json_TPM2B_MAX_NV_BUFFER_deserialize(json_object *jso, TPM2B_MAX_NV_BUFFER *out);
134
135TSS2_RC
136ifapi_json_TPM2B_NAME_deserialize(json_object *jso, TPM2B_NAME *out);
137
138TSS2_RC
139ifapi_json_TPMS_PCR_SELECT_deserialize(json_object *jso, TPMS_PCR_SELECT *out);
140
141TSS2_RC
142ifapi_json_TPMS_PCR_SELECTION_deserialize(json_object *jso, TPMS_PCR_SELECTION *out);
143
144TSS2_RC
145ifapi_json_TPMS_TAGGED_POLICY_deserialize(json_object *jso, TPMS_TAGGED_POLICY *out);
146
147TSS2_RC
148ifapi_json_TPMS_ACT_DATA_deserialize(json_object *jso, TPMS_ACT_DATA *out);
149
150TSS2_RC
151ifapi_json_TPMT_TK_CREATION_deserialize(json_object *jso, TPMT_TK_CREATION *out);
152
153TSS2_RC
154ifapi_json_TPML_DIGEST_VALUES_deserialize(json_object *jso, TPML_DIGEST_VALUES *out);
155
156TSS2_RC
157ifapi_json_TPML_PCR_SELECTION_deserialize(json_object *jso, TPML_PCR_SELECTION *out);
158
159TSS2_RC
160ifapi_json_TPMS_CLOCK_INFO_deserialize(json_object *jso, TPMS_CLOCK_INFO *out);
161
162TSS2_RC
163ifapi_json_TPMS_TIME_INFO_deserialize(json_object *jso, TPMS_TIME_INFO *out);
164
165TSS2_RC
166ifapi_json_TPMS_TIME_ATTEST_INFO_deserialize(json_object *jso, TPMS_TIME_ATTEST_INFO *out);
167
168TSS2_RC
169ifapi_json_TPMS_CERTIFY_INFO_deserialize(json_object *jso, TPMS_CERTIFY_INFO *out);
170
171TSS2_RC
172ifapi_json_TPMS_QUOTE_INFO_deserialize(json_object *jso, TPMS_QUOTE_INFO *out);
173
174TSS2_RC
175ifapi_json_TPMS_COMMAND_AUDIT_INFO_deserialize(json_object *jso, TPMS_COMMAND_AUDIT_INFO *out);
176
177TSS2_RC
178ifapi_json_TPMS_SESSION_AUDIT_INFO_deserialize(json_object *jso, TPMS_SESSION_AUDIT_INFO *out);
179
180TSS2_RC
181ifapi_json_TPMS_CREATION_INFO_deserialize(json_object *jso, TPMS_CREATION_INFO *out);
182
183TSS2_RC
184ifapi_json_TPMS_NV_CERTIFY_INFO_deserialize(json_object *jso, TPMS_NV_CERTIFY_INFO *out);
185
186TSS2_RC
187ifapi_json_TPMI_ST_ATTEST_deserialize(json_object *jso, TPMI_ST_ATTEST *out);
188
189TSS2_RC
190ifapi_json_TPMU_ATTEST_deserialize(UINT32 selector, json_object *jso, TPMU_ATTEST *out);
191
192TSS2_RC
193ifapi_json_TPMS_ATTEST_deserialize(json_object *jso, TPMS_ATTEST *out);
194
195TSS2_RC
196ifapi_json_TPMI_AES_KEY_BITS_deserialize(json_object *jso, TPMI_AES_KEY_BITS *out);
197
198TSS2_RC
199ifapi_json_TPMU_SYM_KEY_BITS_deserialize(UINT32 selector, json_object *jso, TPMU_SYM_KEY_BITS *out);
200
201TSS2_RC
202ifapi_json_TPMU_SYM_MODE_deserialize(UINT32 selector, json_object *jso, TPMU_SYM_MODE *out);
203
204TSS2_RC
205ifapi_json_TPMT_SYM_DEF_deserialize(json_object *jso, TPMT_SYM_DEF *out);
206
207TSS2_RC
208ifapi_json_TPMT_SYM_DEF_OBJECT_deserialize(json_object *jso, TPMT_SYM_DEF_OBJECT *out);
209
210TSS2_RC
211ifapi_json_TPMS_SYMCIPHER_PARMS_deserialize(json_object *jso, TPMS_SYMCIPHER_PARMS *out);
212
213TSS2_RC
214ifapi_json_TPMS_SCHEME_HASH_deserialize(json_object *jso, TPMS_SCHEME_HASH *out);
215
216TSS2_RC
217ifapi_json_TPMS_SCHEME_ECDAA_deserialize(json_object *jso, TPMS_SCHEME_ECDAA *out);
218
219TSS2_RC
220ifapi_json_TPMI_ALG_KEYEDHASH_SCHEME_deserialize(json_object *jso, TPMI_ALG_KEYEDHASH_SCHEME *out);
221
222TSS2_RC
223ifapi_json_TPMS_SCHEME_HMAC_deserialize(json_object *jso, TPMS_SCHEME_HMAC *out);
224
225TSS2_RC
226ifapi_json_TPMS_SCHEME_XOR_deserialize(json_object *jso, TPMS_SCHEME_XOR *out);
227
228TSS2_RC
230 json_object *jso,
231 TPMU_SCHEME_KEYEDHASH *out);
232
233TSS2_RC
234ifapi_json_TPMT_KEYEDHASH_SCHEME_deserialize(json_object *jso, TPMT_KEYEDHASH_SCHEME *out);
235
236TSS2_RC
237ifapi_json_TPMS_SIG_SCHEME_RSASSA_deserialize(json_object *jso, TPMS_SIG_SCHEME_RSASSA *out);
238
239TSS2_RC
240ifapi_json_TPMS_SIG_SCHEME_RSAPSS_deserialize(json_object *jso, TPMS_SIG_SCHEME_RSAPSS *out);
241
242TSS2_RC
243ifapi_json_TPMS_SIG_SCHEME_ECDSA_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECDSA *out);
244
245TSS2_RC
246ifapi_json_TPMS_SIG_SCHEME_SM2_deserialize(json_object *jso, TPMS_SIG_SCHEME_SM2 *out);
247
248TSS2_RC
249ifapi_json_TPMS_SIG_SCHEME_ECSCHNORR_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECSCHNORR *out);
250
251TSS2_RC
252ifapi_json_TPMS_SIG_SCHEME_ECDAA_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECDAA *out);
253
254TSS2_RC
255ifapi_json_TPMU_SIG_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_SIG_SCHEME *out);
256
257TSS2_RC
258ifapi_json_TPMT_SIG_SCHEME_deserialize(json_object *jso, TPMT_SIG_SCHEME *out);
259
260TSS2_RC
261ifapi_json_TPMS_ENC_SCHEME_OAEP_deserialize(json_object *jso, TPMS_ENC_SCHEME_OAEP *out);
262
263TSS2_RC
264ifapi_json_TPMS_ENC_SCHEME_RSAES_deserialize(json_object *jso, TPMS_ENC_SCHEME_RSAES *out);
265
266TSS2_RC
267ifapi_json_TPMS_KEY_SCHEME_ECDH_deserialize(json_object *jso, TPMS_KEY_SCHEME_ECDH *out);
268
269TSS2_RC
270ifapi_json_TPMS_SCHEME_MGF1_deserialize(json_object *jso, TPMS_SCHEME_MGF1 *out);
271
272TSS2_RC
274 TPMS_SCHEME_KDF1_SP800_56A *out);
275
276TSS2_RC
278 TPMS_SCHEME_KDF1_SP800_108 *out);
279
280TSS2_RC
281ifapi_json_TPMU_KDF_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_KDF_SCHEME *out);
282
283TSS2_RC
284ifapi_json_TPMT_KDF_SCHEME_deserialize(json_object *jso, TPMT_KDF_SCHEME *out);
285
286TSS2_RC
287ifapi_json_TPMU_ASYM_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_ASYM_SCHEME *out);
288
289TSS2_RC
290ifapi_json_TPMI_ALG_RSA_SCHEME_deserialize(json_object *jso, TPMI_ALG_RSA_SCHEME *out);
291
292TSS2_RC
293ifapi_json_TPMT_RSA_SCHEME_deserialize(json_object *jso, TPMT_RSA_SCHEME *out);
294
295TSS2_RC
296ifapi_json_TPMI_ALG_RSA_DECRYPT_deserialize(json_object *jso, TPMI_ALG_RSA_DECRYPT *out);
297
298TSS2_RC
299ifapi_json_TPMT_RSA_DECRYPT_deserialize(json_object *jso, TPMT_RSA_DECRYPT *out);
300
301TSS2_RC
302ifapi_json_TPM2B_PUBLIC_KEY_RSA_deserialize(json_object *jso, TPM2B_PUBLIC_KEY_RSA *out);
303
304TSS2_RC
305ifapi_json_TPMI_RSA_KEY_BITS_deserialize(json_object *jso, TPMI_RSA_KEY_BITS *out);
306
307TSS2_RC
308ifapi_json_TPM2B_ECC_PARAMETER_deserialize(json_object *jso, TPM2B_ECC_PARAMETER *out);
309
310TSS2_RC
311ifapi_json_TPMS_ECC_POINT_deserialize(json_object *jso, TPMS_ECC_POINT *out);
312
313TSS2_RC
314ifapi_json_TPMI_ALG_ECC_SCHEME_deserialize(json_object *jso, TPMI_ALG_ECC_SCHEME *out);
315
316TSS2_RC
317ifapi_json_TPMI_ECC_CURVE_deserialize(json_object *jso, TPMI_ECC_CURVE *out);
318
319TSS2_RC
320ifapi_json_TPMT_ECC_SCHEME_deserialize(json_object *jso, TPMT_ECC_SCHEME *out);
321
322TSS2_RC
323ifapi_json_TPMS_SIGNATURE_RSA_deserialize(json_object *jso, TPMS_SIGNATURE_RSA *out);
324
325TSS2_RC
326ifapi_json_TPMS_SIGNATURE_RSASSA_deserialize(json_object *jso, TPMS_SIGNATURE_RSASSA *out);
327
328TSS2_RC
329ifapi_json_TPMS_SIGNATURE_RSAPSS_deserialize(json_object *jso, TPMS_SIGNATURE_RSAPSS *out);
330
331TSS2_RC
332ifapi_json_TPMS_SIGNATURE_ECC_deserialize(json_object *jso, TPMS_SIGNATURE_ECC *out);
333
334TSS2_RC
335ifapi_json_TPMS_SIGNATURE_ECDSA_deserialize(json_object *jso, TPMS_SIGNATURE_ECDSA *out);
336
337TSS2_RC
338ifapi_json_TPMS_SIGNATURE_ECDAA_deserialize(json_object *jso, TPMS_SIGNATURE_ECDAA *out);
339
340TSS2_RC
341ifapi_json_TPMS_SIGNATURE_SM2_deserialize(json_object *jso, TPMS_SIGNATURE_SM2 *out);
342
343TSS2_RC
344ifapi_json_TPMS_SIGNATURE_ECSCHNORR_deserialize(json_object *jso, TPMS_SIGNATURE_ECSCHNORR *out);
345
346TSS2_RC
347ifapi_json_TPMU_SIGNATURE_deserialize(UINT32 selector, json_object *jso, TPMU_SIGNATURE *out);
348
349TSS2_RC
350ifapi_json_TPMT_SIGNATURE_deserialize(json_object *jso, TPMT_SIGNATURE *out);
351
352TSS2_RC
353ifapi_json_TPM2B_ENCRYPTED_SECRET_deserialize(json_object *jso, TPM2B_ENCRYPTED_SECRET *out);
354
355TSS2_RC
356ifapi_json_TPMI_ALG_PUBLIC_deserialize(json_object *jso, TPMI_ALG_PUBLIC *out);
357
358TSS2_RC
359ifapi_json_TPMU_PUBLIC_ID_deserialize(UINT32 selector, json_object *jso, TPMU_PUBLIC_ID *out);
360
361TSS2_RC
362ifapi_json_TPMS_KEYEDHASH_PARMS_deserialize(json_object *jso, TPMS_KEYEDHASH_PARMS *out);
363
364TSS2_RC
365ifapi_json_TPMS_RSA_PARMS_deserialize(json_object *jso, TPMS_RSA_PARMS *out);
366
367TSS2_RC
368ifapi_json_TPMS_ECC_PARMS_deserialize(json_object *jso, TPMS_ECC_PARMS *out);
369
370TSS2_RC
371ifapi_json_TPMU_PUBLIC_PARMS_deserialize(UINT32 selector, json_object *jso, TPMU_PUBLIC_PARMS *out);
372
373TSS2_RC
374ifapi_json_TPMT_PUBLIC_deserialize(json_object *jso, TPMT_PUBLIC *out);
375
376TSS2_RC
377ifapi_json_TPM2B_PUBLIC_deserialize(json_object *jso, TPM2B_PUBLIC *out);
378
379TSS2_RC
380ifapi_json_TPM2B_PRIVATE_deserialize(json_object *jso, TPM2B_PRIVATE *out);
381
382TSS2_RC
383ifapi_json_TPM2_NT_deserialize(json_object *jso, TPM2_NT *out);
384
385TSS2_RC
386ifapi_json_TPMA_NV_deserialize(json_object *jso, TPMA_NV *out);
387
388TSS2_RC
389ifapi_json_TPMS_NV_PUBLIC_deserialize(json_object *jso, TPMS_NV_PUBLIC *out);
390
391TSS2_RC
392ifapi_json_TPM2B_NV_PUBLIC_deserialize(json_object *jso, TPM2B_NV_PUBLIC *out);
393
394TSS2_RC
395ifapi_json_TPMS_CREATION_DATA_deserialize(json_object *jso, TPMS_CREATION_DATA *out);
396
397TSS2_RC
398ifapi_json_TPM2B_CREATION_DATA_deserialize(json_object *jso, TPM2B_CREATION_DATA *out);
399
400#endif /* FAPI_TPM_JSON_DESERIALIZE_H */
TSS2_RC ifapi_json_UINT32_deserialize(json_object *jso, UINT32 *out)
Definition tpm_json_deserialize.c:627
TSS2_RC ifapi_json_TPMI_RH_HIERARCHY_deserialize(json_object *jso, TPMI_RH_HIERARCHY *out)
Definition tpm_json_deserialize.c:1429
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:3363
TSS2_RC ifapi_json_TPMU_ASYM_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_ASYM_SCHEME *out)
Definition tpm_json_deserialize.c:3162
TSS2_RC ifapi_json_TPM2_NT_deserialize(json_object *jso, TPM2_NT *out)
Definition tpm_json_deserialize.c:4052
TSS2_RC ifapi_json_TPMA_OBJECT_deserialize(json_object *jso, TPMA_OBJECT *out)
Definition tpm_json_deserialize.c:1125
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECDAA_deserialize(json_object *jso, TPMS_SIGNATURE_ECDAA *out)
Definition tpm_json_deserialize.c:3586
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECDSA_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECDSA *out)
Definition tpm_json_deserialize.c:2869
TSS2_RC ifapi_json_TPMS_CERTIFY_INFO_deserialize(json_object *jso, TPMS_CERTIFY_INFO *out)
Definition tpm_json_deserialize.c:2064
TSS2_RC ifapi_json_TPMS_KEYEDHASH_PARMS_deserialize(json_object *jso, TPMS_KEYEDHASH_PARMS *out)
Definition tpm_json_deserialize.c:3772
TSS2_RC ifapi_json_TPMU_SIGNATURE_deserialize(UINT32 selector, json_object *jso, TPMU_SIGNATURE *out)
Definition tpm_json_deserialize.c:3630
TSS2_RC ifapi_json_TPM2B_NONCE_deserialize(json_object *jso, TPM2B_NONCE *out)
Definition tpm_json_deserialize.c:1711
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECSCHNORR_deserialize(json_object *jso, TPMS_SIGNATURE_ECSCHNORR *out)
Definition tpm_json_deserialize.c:3614
TSS2_RC ifapi_json_TPMT_SYM_DEF_OBJECT_deserialize(json_object *jso, TPMT_SYM_DEF_OBJECT *out)
Definition tpm_json_deserialize.c:2565
TSS2_RC ifapi_json_TPM2B_NV_PUBLIC_deserialize(json_object *jso, TPM2B_NV_PUBLIC *out)
Definition tpm_json_deserialize.c:4275
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECDSA_deserialize(json_object *jso, TPMS_SIGNATURE_ECDSA *out)
Definition tpm_json_deserialize.c:3572
TSS2_RC ifapi_json_TPMS_SCHEME_ECDAA_deserialize(json_object *jso, TPMS_SCHEME_ECDAA *out)
Definition tpm_json_deserialize.c:2670
TSS2_RC ifapi_json_TPM2_ALG_ID_deserialize(json_object *jso, TPM2_ALG_ID *out)
Definition tpm_json_deserialize.c:730
TSS2_RC ifapi_json_TPMT_TK_CREATION_deserialize(json_object *jso, TPMT_TK_CREATION *out)
Definition tpm_json_deserialize.c:1815
TSS2_RC ifapi_json_TPMS_ATTEST_deserialize(json_object *jso, TPMS_ATTEST *out)
Definition tpm_json_deserialize.c:2357
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:3003
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_RSASSA_deserialize(json_object *jso, TPMS_SIG_SCHEME_RSASSA *out)
Definition tpm_json_deserialize.c:2839
TSS2_RC ifapi_json_TPMT_SIG_SCHEME_deserialize(json_object *jso, TPMT_SIG_SCHEME *out)
Definition tpm_json_deserialize.c:2965
TSS2_RC ifapi_json_UINT8_ARY_deserialize(json_object *jso, UINT8_ARY *out)
Definition tpm_json_deserialize.c:368
TSS2_RC ifapi_json_TPMI_ALG_CIPHER_MODE_deserialize(json_object *jso, TPMI_ALG_CIPHER_MODE *out)
Definition tpm_json_deserialize.c:1526
TSS2_RC ifapi_json_TPMU_SIG_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_SIG_SCHEME *out)
Definition tpm_json_deserialize.c:2927
TSS2_RC ifapi_json_TPM2B_ENCRYPTED_SECRET_deserialize(json_object *jso, TPM2B_ENCRYPTED_SECRET *out)
Definition tpm_json_deserialize.c:3704
TSS2_RC ifapi_json_TPMI_ST_ATTEST_deserialize(json_object *jso, TPMI_ST_ATTEST *out)
Definition tpm_json_deserialize.c:2304
TSS2_RC ifapi_json_TPMS_RSA_PARMS_deserialize(json_object *jso, TPMS_RSA_PARMS *out)
Definition tpm_json_deserialize.c:3802
TSS2_RC ifapi_json_TPMI_ALG_RSA_DECRYPT_deserialize(json_object *jso, TPMI_ALG_RSA_DECRYPT *out)
Definition tpm_json_deserialize.c:3252
TSS2_RC ifapi_json_TPMS_ECC_PARMS_deserialize(json_object *jso, TPMS_ECC_PARMS *out)
Definition tpm_json_deserialize.c:3853
TSS2_RC ifapi_json_TPMI_RH_NV_INDEX_deserialize(json_object *jso, TPMI_RH_NV_INDEX *out)
Definition tpm_json_deserialize.c:1462
TSS2_RC ifapi_json_TPMT_SYM_DEF_deserialize(json_object *jso, TPMT_SYM_DEF *out)
Definition tpm_json_deserialize.c:2517
TSS2_RC ifapi_json_TPMS_KEY_SCHEME_ECDH_deserialize(json_object *jso, TPMS_KEY_SCHEME_ECDH *out)
Definition tpm_json_deserialize.c:3032
TSS2_RC ifapi_json_TPM2B_DATA_deserialize(json_object *jso, TPM2B_DATA *out)
Definition tpm_json_deserialize.c:1685
TSS2_RC ifapi_json_TPM2B_DIGEST_deserialize(json_object *jso, TPM2B_DIGEST *out)
Definition tpm_json_deserialize.c:1661
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECSCHNORR_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECSCHNORR *out)
Definition tpm_json_deserialize.c:2897
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSA_deserialize(json_object *jso, TPMS_SIGNATURE_RSA *out)
Definition tpm_json_deserialize.c:3462
TSS2_RC ifapi_json_TPM2B_OPERAND_deserialize(json_object *jso, TPM2B_OPERAND *out)
Definition tpm_json_deserialize.c:1727
TSS2_RC ifapi_json_TPMS_SCHEME_KDF1_SP800_56A_deserialize(json_object *jso, TPMS_SCHEME_KDF1_SP800_56A *out)
Definition tpm_json_deserialize.c:3062
TSS2_RC ifapi_json_TPMS_SESSION_AUDIT_INFO_deserialize(json_object *jso, TPMS_SESSION_AUDIT_INFO *out)
Definition tpm_json_deserialize.c:2190
TSS2_RC ifapi_json_BYTE_deserialize(json_object *jso, BYTE *out)
Definition tpm_json_deserialize.c:555
TSS2_RC ifapi_json_TPM2B_CREATION_DATA_deserialize(json_object *jso, TPM2B_CREATION_DATA *out)
Definition tpm_json_deserialize.c:4381
TSS2_RC ifapi_json_TPMI_YES_NO_deserialize(json_object *jso, TPMI_YES_NO *out)
Definition tpm_json_deserialize.c:1396
TSS2_RC ifapi_json_TPMU_SCHEME_KEYEDHASH_deserialize(UINT32 selector, json_object *jso, TPMU_SCHEME_KEYEDHASH *out)
Definition tpm_json_deserialize.c:2771
TSS2_RC ifapi_json_TPMS_CREATION_DATA_deserialize(json_object *jso, TPMS_CREATION_DATA *out)
Definition tpm_json_deserialize.c:4310
TSS2_RC ifapi_json_TPMS_CLOCK_INFO_deserialize(json_object *jso, TPMS_CLOCK_INFO *out)
Definition tpm_json_deserialize.c:1940
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECDAA_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECDAA *out)
Definition tpm_json_deserialize.c:2911
TSS2_RC ifapi_json_TPMS_SCHEME_HASH_deserialize(json_object *jso, TPMS_SCHEME_HASH *out)
Definition tpm_json_deserialize.c:2641
TSS2_RC ifapi_json_TPM2B_ECC_PARAMETER_deserialize(json_object *jso, TPM2B_ECC_PARAMETER *out)
Definition tpm_json_deserialize.c:3337
TSS2_RC ifapi_json_TPMI_ALG_PUBLIC_deserialize(json_object *jso, TPMI_ALG_PUBLIC *out)
Definition tpm_json_deserialize.c:3728
TSS2_RC ifapi_json_TPMS_TIME_ATTEST_INFO_deserialize(json_object *jso, TPMS_TIME_ATTEST_INFO *out)
Definition tpm_json_deserialize.c:2027
TSS2_RC ifapi_json_UINT64_deserialize(json_object *jso, UINT64 *out)
Definition tpm_json_deserialize.c:651
TSS2_RC ifapi_hex_to_byte_ary(const char hex[], UINT32 vlen, BYTE val[])
Definition tpm_json_deserialize.c:142
TSS2_RC ifapi_json_TPMI_ALG_KEYEDHASH_SCHEME_deserialize(json_object *jso, TPMI_ALG_KEYEDHASH_SCHEME *out)
Definition tpm_json_deserialize.c:2703
TSS2_RC ifapi_json_TPMT_KEYEDHASH_SCHEME_deserialize(json_object *jso, TPMT_KEYEDHASH_SCHEME *out)
Definition tpm_json_deserialize.c:2801
TSS2_RC ifapi_json_TPMI_ALG_SYM_MODE_deserialize(json_object *jso, TPMI_ALG_SYM_MODE *out)
Definition tpm_json_deserialize.c:1513
TSS2_RC ifapi_json_TPMI_AES_KEY_BITS_deserialize(json_object *jso, TPMI_AES_KEY_BITS *out)
Definition tpm_json_deserialize.c:2423
TSS2_RC ifapi_json_TPMT_SIGNATURE_deserialize(json_object *jso, TPMT_SIGNATURE *out)
Definition tpm_json_deserialize.c:3668
TSS2_RC ifapi_json_TPMS_NV_PUBLIC_deserialize(json_object *jso, TPMS_NV_PUBLIC *out)
Definition tpm_json_deserialize.c:4218
TSS2_RC ifapi_json_TPMI_ALG_RSA_SCHEME_deserialize(json_object *jso, TPMI_ALG_RSA_SCHEME *out)
Definition tpm_json_deserialize.c:3201
TSS2_RC ifapi_json_TPMU_SYM_KEY_BITS_deserialize(UINT32 selector, json_object *jso, TPMU_SYM_KEY_BITS *out)
Definition tpm_json_deserialize.c:2457
TSS2_RC ifapi_json_TPMS_PCR_SELECT_deserialize(json_object *jso, TPMS_PCR_SELECT *out)
Definition tpm_json_deserialize.c:393
TSS2_RC ifapi_json_TPMU_PUBLIC_PARMS_deserialize(UINT32 selector, json_object *jso, TPMU_PUBLIC_PARMS *out)
Definition tpm_json_deserialize.c:3903
TSS2_RC ifapi_json_TPMS_SCHEME_MGF1_deserialize(json_object *jso, TPMS_SCHEME_MGF1 *out)
Definition tpm_json_deserialize.c:3048
TSS2_RC ifapi_json_TPMI_ALG_HASH_deserialize(json_object *jso, TPMI_ALG_HASH *out)
Definition tpm_json_deserialize.c:1474
TSS2_RC ifapi_json_TPMS_EMPTY_deserialize(json_object *jso, TPMS_EMPTY *out)
Definition tpm_json_deserialize.c:126
TSS2_RC ifapi_json_TPM2B_PUBLIC_KEY_RSA_deserialize(json_object *jso, TPM2B_PUBLIC_KEY_RSA *out)
Definition tpm_json_deserialize.c:3303
TSS2_RC ifapi_json_TPMT_KDF_SCHEME_deserialize(json_object *jso, TPMT_KDF_SCHEME *out)
Definition tpm_json_deserialize.c:3124
TSS2_RC ifapi_json_TPMS_SIGNATURE_SM2_deserialize(json_object *jso, TPMS_SIGNATURE_SM2 *out)
Definition tpm_json_deserialize.c:3600
bool ifapi_get_sub_object(json_object *jso, char *name, json_object **sub_jso)
Definition tpm_json_deserialize.c:253
TSS2_RC ifapi_json_TPMS_COMMAND_AUDIT_INFO_deserialize(json_object *jso, TPMS_COMMAND_AUDIT_INFO *out)
Definition tpm_json_deserialize.c:2139
TSS2_RC ifapi_json_TPMS_TIME_INFO_deserialize(json_object *jso, TPMS_TIME_INFO *out)
Definition tpm_json_deserialize.c:1990
TSS2_RC ifapi_json_TPM2B_MAX_NV_BUFFER_deserialize(json_object *jso, TPM2B_MAX_NV_BUFFER *out)
Definition tpm_json_deserialize.c:1765
TSS2_RC ifapi_json_TPMU_HA_deserialize(UINT32 selector, json_object *jso, TPMU_HA *out)
Definition tpm_json_deserialize.c:1569
TSS2_RC ifapi_json_TPMS_CREATION_INFO_deserialize(json_object *jso, TPMS_CREATION_INFO *out)
Definition tpm_json_deserialize.c:2227
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSASSA_deserialize(json_object *jso, TPMS_SIGNATURE_RSASSA *out)
Definition tpm_json_deserialize.c:3498
TSS2_RC ifapi_json_TPMU_PUBLIC_ID_deserialize(UINT32 selector, json_object *jso, TPMU_PUBLIC_ID *out)
Definition tpm_json_deserialize.c:3744
TSS2_RC ifapi_json_TPM2_GENERATED_deserialize(json_object *jso, TPM2_GENERATED *out)
Definition tpm_json_deserialize.c:692
TSS2_RC ifapi_json_BYTE_array_deserialize(size_t max, json_object *jso, BYTE *out)
Definition tpm_json_deserialize.c:526
TSS2_RC ifapi_json_TPMU_ATTEST_deserialize(UINT32 selector, json_object *jso, TPMU_ATTEST *out)
Definition tpm_json_deserialize.c:2321
TSS2_RC ifapi_json_TPMT_HA_deserialize(json_object *jso, TPMT_HA *out)
Definition tpm_json_deserialize.c:1626
TSS2_RC ifapi_json_TPM2B_NAME_deserialize(json_object *jso, TPM2B_NAME *out)
Definition tpm_json_deserialize.c:1789
TSS2_RC ifapi_json_TPMS_ENC_SCHEME_RSAES_deserialize(json_object *jso, TPMS_ENC_SCHEME_RSAES *out)
Definition tpm_json_deserialize.c:3016
TSS2_RC ifapi_json_TPMI_ALG_KDF_deserialize(json_object *jso, TPMI_ALG_KDF *out)
Definition tpm_json_deserialize.c:1539
TSS2_RC ifapi_json_TPMS_SCHEME_XOR_deserialize(json_object *jso, TPMS_SCHEME_XOR *out)
Definition tpm_json_deserialize.c:2735
TSS2_RC ifapi_json_TPMS_SYMCIPHER_PARMS_deserialize(json_object *jso, TPMS_SYMCIPHER_PARMS *out)
Definition tpm_json_deserialize.c:2612
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:2489
TSS2_RC ifapi_json_TPML_DIGEST_VALUES_deserialize(json_object *jso, TPML_DIGEST_VALUES *out)
Definition tpm_json_deserialize.c:1859
TSS2_RC ifapi_json_TPMS_SCHEME_KDF1_SP800_108_deserialize(json_object *jso, TPMS_SCHEME_KDF1_SP800_108 *out)
Definition tpm_json_deserialize.c:3077
TSS2_RC ifapi_json_TPMI_ALG_SYM_OBJECT_deserialize(json_object *jso, TPMI_ALG_SYM_OBJECT *out)
Definition tpm_json_deserialize.c:1500
TSS2_RC ifapi_json_TPM2B_EVENT_deserialize(json_object *jso, TPM2B_EVENT *out)
Definition tpm_json_deserialize.c:1741
TSS2_RC ifapi_json_TPMI_RSA_KEY_BITS_deserialize(json_object *jso, TPMI_RSA_KEY_BITS *out)
Definition tpm_json_deserialize.c:3324
TSS2_RC ifapi_json_TPMU_KDF_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_KDF_SCHEME *out)
Definition tpm_json_deserialize.c:3094
TSS2_RC ifapi_json_TPMS_PCR_SELECTION_deserialize(json_object *jso, TPMS_PCR_SELECTION *out)
Definition tpm_json_deserialize.c:410
TSS2_RC ifapi_json_TPM2B_PUBLIC_deserialize(json_object *jso, TPM2B_PUBLIC *out)
Definition tpm_json_deserialize.c:3998
TSS2_RC ifapi_json_UINT16_deserialize(json_object *jso, UINT16 *out)
Definition tpm_json_deserialize.c:603
TSS2_RC ifapi_json_TPMS_SCHEME_HMAC_deserialize(json_object *jso, TPMS_SCHEME_HMAC *out)
Definition tpm_json_deserialize.c:2719
TSS2_RC ifapi_json_TPM2_ST_deserialize(json_object *jso, TPM2_ST *out)
Definition tpm_json_deserialize.c:1004
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECC_deserialize(json_object *jso, TPMS_SIGNATURE_ECC *out)
Definition tpm_json_deserialize.c:3529
TSS2_RC ifapi_json_TPMI_ALG_SIG_SCHEME_deserialize(json_object *jso, TPMI_ALG_SIG_SCHEME *out)
Definition tpm_json_deserialize.c:1552
TSS2_RC ifapi_json_TPMS_NV_CERTIFY_INFO_deserialize(json_object *jso, TPMS_NV_CERTIFY_INFO *out)
Definition tpm_json_deserialize.c:2264
TSS2_RC ifapi_json_TPMI_ECC_CURVE_deserialize(json_object *jso, TPMI_ECC_CURVE *out)
Definition tpm_json_deserialize.c:3407
TSS2_RC ifapi_json_TPMI_ALG_ECC_SCHEME_deserialize(json_object *jso, TPMI_ALG_ECC_SCHEME *out)
Definition tpm_json_deserialize.c:3396
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSAPSS_deserialize(json_object *jso, TPMS_SIGNATURE_RSAPSS *out)
Definition tpm_json_deserialize.c:3512
TSS2_RC ifapi_json_TPMT_RSA_SCHEME_deserialize(json_object *jso, TPMT_RSA_SCHEME *out)
Definition tpm_json_deserialize.c:3217
TSS2_RC ifapi_json_TPM2_ECC_CURVE_deserialize(json_object *jso, TPM2_ECC_CURVE *out)
Definition tpm_json_deserialize.c:779
TSS2_RC ifapi_json_TPM2_CC_deserialize(json_object *jso, TPM2_CC *out)
Definition tpm_json_deserialize.c:815
TSS2_RC ifapi_json_TPMT_ECC_SCHEME_deserialize(json_object *jso, TPMT_ECC_SCHEME *out)
Definition tpm_json_deserialize.c:3424
TSS2_RC ifapi_json_TPM2_EO_deserialize(json_object *jso, TPM2_EO *out)
Definition tpm_json_deserialize.c:961
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_SM2_deserialize(json_object *jso, TPMS_SIG_SCHEME_SM2 *out)
Definition tpm_json_deserialize.c:2883
TSS2_RC ifapi_json_TPMT_PUBLIC_deserialize(json_object *jso, TPMT_PUBLIC *out)
Definition tpm_json_deserialize.c:3935
TSS2_RC ifapi_json_TPM2B_PRIVATE_deserialize(json_object *jso, TPM2B_PRIVATE *out)
Definition tpm_json_deserialize.c:4028
TSS2_RC ifapi_json_TPMA_NV_deserialize(json_object *jso, TPMA_NV *out)
Definition tpm_json_deserialize.c:4087
TSS2_RC ifapi_json_TPML_PCR_SELECTION_deserialize(json_object *jso, TPML_PCR_SELECTION *out)
Definition tpm_json_deserialize.c:1898
TSS2_RC ifapi_json_TPMT_RSA_DECRYPT_deserialize(json_object *jso, TPMT_RSA_DECRYPT *out)
Definition tpm_json_deserialize.c:3267
TSS2_RC ifapi_json_TPMS_QUOTE_INFO_deserialize(json_object *jso, TPMS_QUOTE_INFO *out)
Definition tpm_json_deserialize.c:2101
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_RSAPSS_deserialize(json_object *jso, TPMS_SIG_SCHEME_RSAPSS *out)
Definition tpm_json_deserialize.c:2853
TSS2_RC ifapi_json_TPMA_LOCALITY_deserialize(json_object *jso, TPMA_LOCALITY *out)
Definition tpm_json_deserialize.c:1216
Definition fapi_types.h:15