The answer is to use libkcapi for encryption/decryption.
https://github.com/smuellerDD/libkcapi
Otherwise you are going to have roll your own bucket brigade to encrypt a file. It works great and can use the CAAM hardware enc/dec.
The answer is to use libkcapi for encryption/decryption.
https://github.com/smuellerDD/libkcapi
Otherwise you are going to have roll your own bucket brigade to encrypt a file. It works great and can use the CAAM hardware enc/dec.
I might also add there is a problem with the patched code when trying to "decap" a red key...
You get a "caam_jr 30902000.jr: Decapsulation job failed" message and the returned value is the same as the encapped value.
There are other messages in the forum about this, just search for "Decapsulation job failed" and you will see them. They have gone unanswered.
I do not see why NXP did not preserve the wrap/unwrap feature that is in the IMX6 kernel drivers, and also have a driver that fails. Code compatibility should be paramount and lead to people using the newer products when you do not have to re-engineer a bunch of code.
caam-blobs is completely different than af_alg blackkey demo. al_alg is linux Crypto API for userspace that uses caam-decrypt where caam-blobs is a patch tp applt to the kernel which appears to have some issues (I think it was for an older kernel version). It patches, but you get messages about some failures.
Meanwhile I found out how to encrypt by modifying the sample in https://lwn.net/Articles/410833/. Also look at libkcapi for a wrapper around the Crypto API (see kcapi-enc utility)