Milan Broz
080566a1fd
Update copyright year.
2020-01-03 13:04:55 +01:00
Milan Broz
d9766037a3
Fix some extended compiler warnings.
2020-01-03 12:29:49 +01:00
Milan Broz
02821adc47
Fix a signed/unsigned comparison compiler warning.
2020-01-03 11:26:44 +01:00
Milan Broz
7b08fd4b7d
Remove undeeded version test for BITLK compat tests.
...
Otherwise it starts failing with dm-crypt version bump.
2020-01-03 10:23:28 +01:00
Milan Broz
0505c70be2
Implement BITLK status info.
...
Cryptsetup status <device> should print info about active device.
Also fix mistake in BITLK volume key size (should return bytes, not bits).
2020-01-03 10:14:47 +01:00
Jaskaran Khurana
f247038e65
Add --root-hash-signature parameter to veritysetup
...
Optional parameter root hash signature is added that can be added to
veritysetup.
The signature file is opened and the signature is added to the keyring.
The kernel will use the signature to validate the roothash.
Usage: veritysetup open <data_device> name <hash_device> <root_hash> --root-hash-signature=<roothash_p7_sig_file>
Signed-off-by: Jaskaran Khurana <jaskarankhurana@linux.microsoft.com >
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com >
[Original patch rewritten by Milan Broz]
2020-01-02 13:08:21 +01:00
jbit
d7667e9e6e
bitlk: Support for name strings in VMK metadata
2020-01-02 08:54:19 +00:00
Luca Boccassi
188cb114af
Add support for verity in crypt_volume_key_get and use it in status
...
Other APIs use the root hash in place of keys when using verity
devices, so do the same for crypt_volume_key_get to allow users
to retrieve the root hash of an active verity device.
Use it in veritysetup status to print the root hash.
[Patch slightly modified by Milan Broz]
2019-12-31 21:44:50 +01:00
Milan Broz
35c49ababf
Fix some compiler warnings.
2019-12-31 17:49:38 +01:00
Ondrej Kozina
faafe09bd0
Use crypt_volume_key_next where appropriate.
2019-12-31 17:37:33 +01:00
Milan Broz
a0e87c9420
Calculate hash integrity size instead of requiring an explicit tag size.
...
When integritysetup formats a device with hash or HMAC integrity checksums,
it requires explicitly tag size entry from a user (or default value).
This leads to confusion and shortened tags.
This patch calculates tag size according to real hash output, and
if tag size is specified, it warns if these values differ.
Fixes : #492 .
2019-12-31 17:37:33 +01:00
Milan Broz
d9d39f1812
po: update pot file
2019-12-31 12:36:39 +01:00
Milan Broz
82af225742
Add bitlk compat test to distro tar.
2019-12-31 12:30:44 +01:00
Milan Broz
919f4df1a7
Remove wip-bitlocker branch from CI.
2019-12-31 12:20:06 +01:00
Milan Broz
71a1698bf2
Add bitlk.c to translation.
2019-12-31 11:16:01 +01:00
Milan Broz
a987dd95b8
Remove unused bitlk params structure.
2019-12-30 21:57:42 +01:00
Milan Broz
ab6ab8e65c
Fix BITLK command aliases descriptions.
2019-12-30 21:53:06 +01:00
Milan Broz
3b28d66410
Add BitLocker man page extentsion.
2019-12-30 21:53:06 +01:00
Milan Broz
eee46ef2f4
Detect support for BitLocker EBOIV and Elephant diffuser.
...
If kernel is missing support, print a more friendly error.
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
3c189b4183
bitlk: Fix displaying key length in bitlkDump
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
fd5ab0edf7
bitlk: Add Smart Card protected VMKs
...
Test image protected with smart card is included.
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
420387a7a5
bitlk: Ignore unknown metadata entries for unsupported VMKs
...
VMKs (keyslots) protected with a smart card or TPM have some
additional metadata entries that are currently unkwnon. We can
safely ignore these because we don't support unlocking the device
using these VMKs so we should still be able to parse the metadata
and unlock the device using other VMKs like the recovery password.
2019-12-30 21:53:06 +01:00
Milan Broz
fc740f8b6d
Simplify bitlk test and be sure to load dm-crypt module.
2019-12-30 21:53:06 +01:00
Vojtech Trefny
834059ddfa
Do not hardcode number of DM segments for BitLocker devices
...
Sometimes there is no gap between the metadata so we don't want to
create a dm-crypt segment there.
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
5ec2fbcd38
Allow empty passphrases when opening BitLocker devices
...
It's probably not possible to create a BitLocker device with an
empty passphrase but we want to support it. And it's definitely
better to ask for the passphrase again instead of returning
ENOMEM.
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
2fbf5cd79f
Covert the BitLocker test images to sparse images
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
64ebe95751
Check sha256 sums of the bitlk images in tests
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
77109b3a33
Edit BitLocker test images to be compatible with older blkid
...
We need to keep the mirror NTFS MFT too because older versions of
blkid check it too.
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
b43429e684
Fix parsing BitLocker metadata on Big Endian architectures
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
97e39f0744
Fix displaying error for not supported BitLocker key decryption
...
'crypt_bitlk_decrypt_key' can also fail because of wrong
passphrase and other reasons.
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
fad592b512
Fix open on devices with no supported VMKs
2019-12-30 21:53:06 +01:00
Milan Broz
565de3c536
Fix check for bitlk iv overflow in crypto backend.
2019-12-30 21:53:06 +01:00
Milan Broz
c802269ea3
Bitlk: fix some additional gcc warnings.
2019-12-30 21:53:06 +01:00
Milan Broz
06268963fb
Bitlk: clean up some inlcudes and warnings.
2019-12-30 21:53:06 +01:00
Milan Broz
2227797691
Bitlk: move test for older blkid.
2019-12-30 21:53:06 +01:00
Milan Broz
f0888c1fe0
Add AEAD define on older kernel headers.
2019-12-30 21:53:06 +01:00
Milan Broz
eda2e62589
Add other backends (Nettle, NSS) for Bitlk decryption (through kernel wrapper).
2019-12-30 21:53:06 +01:00
Milan Broz
494d8ec04c
Add kernel backend for Bitlk key decryption.
2019-12-30 21:53:06 +01:00
Milan Broz
bb8088ca0f
Another fix for ancient systems.
2019-12-30 21:53:06 +01:00
Milan Broz
26f4bc39fc
Fix tes for very old bash.
2019-12-30 21:53:06 +01:00
Milan Broz
025e4d9fc6
Fix bitlk test on older systems.
2019-12-30 21:53:06 +01:00
Milan Broz
b2774d57ba
Bitlk: Propagare errno from key decryption.
2019-12-30 21:53:06 +01:00
Milan Broz
51edfb4ec9
Bitlk: add gcrypt key backend.
2019-12-30 21:53:06 +01:00
Milan Broz
79019b1ced
Bitlk: Move crypt key handling to crypto backend.
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
bc87140b5b
Do not declare control variables in for loops
...
C89 doesn't like this.
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
1c5251069b
Define UUID_STR_LEN not defined in older versions of libuuid
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
0b6dfefcec
Add tests and test images for BitLocker
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
a9e32c55c0
Fix parsing BitLocker metadata from latest Windows
...
Newest version added a new metadata entry to the recovery
passphrase protected VMK containing two new timestamps. We are
ignoring these for now.
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
a494228407
Do not try to activate partially decrypted BitLocker devices
2019-12-30 21:53:06 +01:00
Vojtěch Trefný
9932b5fc5c
Do not try to activate BitLocker devices with diffuser
...
The CBC mode with Elephant Diffuser is currently not supported
by DM crypt.
2019-12-30 21:53:06 +01:00