Hi Yael,
On Mon, 2021-12-13 at 14:20 -0500, Yael Tiomkin wrote:
The encrypted.c class supports instantiation of encrypted keys with
either an already-encrypted key material, or by generating new key
material based on random numbers. To support encryption of
user-provided decrypted data, this patch defines a new datablob
format: [<format>] <master-key name> <decrypted data length>
<decrypted data>.
Signed-off-by: Yael Tiomkin <redacted>
Other than the comment below,
Reviewed-by: Mimi Zohar [off-list ref]
Could you also provide an LTP test for defining, exporting, and loading
an encrypted key based on user provided key data?
thanks,
Mimi
---
quoted hunk ↗ jump to hunk
@@ -303,6 +306,16 @@ Load an encrypted key "evm" from saved blob::
82dbbc55be2a44616e4959430436dc4f2a7a9659aa60bb4652aeb2120f149ed197c564e0
24717c64 5972dcb82ab2dde83376d82b2e3c09ffc
+Instantiate an encrypted key "evm" using user-provided decrypted data::
+
+ $ keyctl add encrypted evm "new default user:kmk 32 `cat evm.blob`" @u
+ 794890253
The existing references to "evm.blob" refer to the encrypted key data.
Here "evm.blob" is unencrypted data. Perhaps name it something like
"evm.user-provided-data" data.
quoted hunk ↗ jump to hunk
+
+ $ keyctl print 794890253
+ default user:kmk 32 2375725ad57798846a9bbd240de8906f006e66c03af53b1b382d
+ bbc55be2a44616e4959430436dc4f2a7a9659aa60bb4652aeb2120f149ed197c564e0247
+ 17c64 5972dcb82ab2dde83376d82b2e3c09ffc
+