Hello everyone,
The Crypto Abstraction Layer for WolfCrypt versions v2.0.0 and v2.0.1 have been released on GitHub.
This abstraction layer holds the native code required by the Crypto Foundation Library.
It replaces the support of the Security Foundation Library provided by the 1.x versions.
Version 2.0.0 brings the following changes:
- The abstraction layer implements the
LLCRYPTOAPI of the Crypto Foundation Library instead of theLLSECAPI of the Security Foundation Library. To migrate, rename everyLLSEC_file, symbol and configuration macro toLLCRYPTO_. - AES secret keys held in a PKCS#11 token can be addressed by their label.
- The natives report memory allocation failures to the Crypto Foundation Library, which can then run a garbage collection and retry the operation.
- Secret key material and shared secrets are wiped before their memory is released.
- wolfSSL 5.8.4 or higher is required.
Version 2.0.1 fixes the following issues:
- Certificate parsing and validation retry after a garbage collection when native memory is low.
- On a key held in a PKCS#11 token, the operations that the token cannot run (multi-part AES/CBC or AES/CTR, AES/CBC input that is not a whole number of blocks, AES/CCM) are refused with an exception instead of producing a wrong result.
- A VEE Port without an external key store links with the Crypto Foundation Library 2.1.0.
See the CHANGELOG for more information:
Happy coding,
The MicroEJ Team.