mirror of
https://gitlab.gnome.org/GNOME/libsecret.git
synced 2024-12-22 12:48:51 +00:00
63907d907e
These changes define the TPM2 API and add its implementations to the incubation area (egg/). Summary of the public API: `egg_tpm2_initialize`: Start a TPM context. `egg_tpm2_finalize`: End a TPM context. `egg_tpm2_generate_master_password`: Generate and returns an encrypted master password in `GBytes` format. TSS Marshaling, GVariant serialization is used. `egg_tpm2_decrypt_master_password`: Decrypts a master password generated from `egg_tpm2_generate_master_password`. TSS Unmarshaling, GVariant deserialization is used. TPM2 API: TSS Enhanced System API (ESAPI) Proposal: [extend file backend to use TPM2 derived encryption keys](https://gitlab.gnome.org/Teams/Engagement/gsoc-2021/-/issues/13) Related MRs: [#86](https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/86) Related Issues: [#63](https://gitlab.gnome.org/GNOME/libsecret/-/issues/63)
67 lines
942 B
Meson
67 lines
942 B
Meson
libegg_sources = [
|
|
'egg-hex.c',
|
|
'egg-secure-memory.c',
|
|
'egg-testing.c',
|
|
]
|
|
|
|
libegg_deps = [
|
|
glib_deps,
|
|
]
|
|
|
|
if get_option('gcrypt')
|
|
libegg_sources += [
|
|
'egg-dh.c',
|
|
'egg-hkdf.c',
|
|
'egg-libgcrypt.c',
|
|
]
|
|
|
|
libegg_deps += gcrypt_dep
|
|
endif
|
|
|
|
if get_option('tpm2')
|
|
libegg_sources += [
|
|
'egg-tpm2.c',
|
|
]
|
|
|
|
libegg_deps += tss2_deps
|
|
endif
|
|
|
|
libegg = static_library('egg',
|
|
libegg_sources,
|
|
dependencies: libegg_deps,
|
|
include_directories: [config_h_dir, build_dir],
|
|
)
|
|
|
|
# Tests
|
|
test_names = [
|
|
'test-hex',
|
|
'test-secmem',
|
|
]
|
|
|
|
if get_option('gcrypt')
|
|
test_names += [
|
|
'test-dh',
|
|
'test-hkdf',
|
|
]
|
|
endif
|
|
|
|
if get_option('tpm2')
|
|
test_names += [
|
|
'test-tpm2',
|
|
]
|
|
endif
|
|
|
|
foreach _test : test_names
|
|
|
|
test_bin = executable(_test,
|
|
'@0@.c'.format(_test),
|
|
dependencies: libegg_deps,
|
|
link_with: libegg,
|
|
include_directories: config_h_dir,
|
|
)
|
|
|
|
test(_test, test_bin,
|
|
suite: 'libegg',
|
|
)
|
|
endforeach
|