]> git.proxmox.com Git - systemd.git/blame - src/cryptsetup/cryptsetup-fido2.h
New upstream version 252.5
[systemd.git] / src / cryptsetup / cryptsetup-fido2.h
CommitLineData
3a6ce677
BR
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2#pragma once
3
4#include <sys/types.h>
5
6#include "cryptsetup-util.h"
8b3d4ff0 7#include "libfido2-util.h"
3a6ce677
BR
8#include "log.h"
9#include "time-util.h"
10
11#if HAVE_LIBFIDO2
12
13int acquire_fido2_key(
14 const char *volume_name,
15 const char *friendly_name,
16 const char *device,
17 const char *rp_id,
18 const void *cid,
19 size_t cid_size,
20 const char *key_file,
21 size_t key_file_size,
22 uint64_t key_file_offset,
23 const void *key_data,
24 size_t key_data_size,
25 usec_t until,
8b3d4ff0
MB
26 bool headless,
27 Fido2EnrollFlags required,
3a6ce677 28 void **ret_decrypted_key,
8b3d4ff0
MB
29 size_t *ret_decrypted_key_size,
30 AskPasswordFlags ask_password_flags);
3a6ce677 31
28085778 32int acquire_fido2_key_auto(
3a6ce677 33 struct crypt_device *cd,
28085778
LB
34 const char *name,
35 const char *friendly_name,
36 const char *fido2_device,
37 const char *key_file,
38 size_t key_file_size,
39 uint64_t key_file_offset,
40 usec_t until,
41 bool headless,
42 void **ret_decrypted_key,
43 size_t *ret_decrypted_key_size,
44 AskPasswordFlags ask_password_flags);
3a6ce677
BR
45
46#else
47
48static inline int acquire_fido2_key(
49 const char *volume_name,
50 const char *friendly_name,
51 const char *device,
52 const char *rp_id,
53 const void *cid,
54 size_t cid_size,
55 const char *key_file,
56 size_t key_file_size,
57 uint64_t key_file_offset,
58 const void *key_data,
59 size_t key_data_size,
60 usec_t until,
8b3d4ff0
MB
61 bool headless,
62 Fido2EnrollFlags required,
3a6ce677 63 void **ret_decrypted_key,
8b3d4ff0
MB
64 size_t *ret_decrypted_key_size,
65 AskPasswordFlags ask_password_flags) {
3a6ce677
BR
66
67 return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
68 "FIDO2 token support not available.");
69}
70
28085778 71static inline int acquire_fido2_key_auto(
3a6ce677 72 struct crypt_device *cd,
28085778
LB
73 const char *name,
74 const char *friendly_name,
75 const char *fido2_device,
76 const char *key_file,
77 size_t key_file_size,
78 uint64_t key_file_offset,
79 usec_t until,
80 bool headless,
81 void **ret_decrypted_key,
82 size_t *ret_decrypted_key_size,
83 AskPasswordFlags ask_password_flags) {
3a6ce677
BR
84
85 return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
86 "FIDO2 token support not available.");
87}
88#endif