]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/cryptsetup/cryptsetup-tokens/luks2-tpm2.h
update TODO
[thirdparty/systemd.git] / src / cryptsetup / cryptsetup-tokens / luks2-tpm2.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2
3 #pragma once
4
5 #include "tpm2-util.h"
6
7 struct crypt_device;
8
9 int acquire_luks2_key(
10 uint32_t pcr_mask,
11 uint16_t pcr_bank,
12 uint16_t primary_alg,
13 const char *device,
14 const void *key_data,
15 size_t key_data_size,
16 const void *policy_hash,
17 size_t policy_hash_size,
18 TPM2Flags flags,
19 void **ret_decrypted_key,
20 size_t *ret_decrypted_key_size);
21
22 int parse_luks2_tpm2_data(
23 const char *json,
24 uint32_t search_pcr_mask,
25 uint32_t *ret_pcr_mask,
26 uint16_t *ret_pcr_bank,
27 uint16_t *ret_primary_alg,
28 char **ret_base64_blob,
29 char **ret_hex_policy_hash,
30 TPM2Flags *ret_flags);