libsecret/egg/meson.build
Dhanuka Warusadura 63907d907e Add TPM2 API and its implementations to egg
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)
2021-08-04 14:42:55 +05:30

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