- Changes
- Support OpenSSL 3 by allowing the new engine shared library paths. This is a
very simple change for
nerves_key_pkcs11
, but it requires Erlang 26.2 (expected) to work. Until then, manually patching Erlang 26.1.2 to enable OpenSSL engine support is the only way to use this new functionality.
- Support OpenSSL 3 by allowing the new engine shared library paths. This is a
very simple change for
- Changes
- Fix Trust and Go device detection in cases where I2C buses don't exist before the one that has the T&G part. This was a bug in the detection logic where it was really easy to get lucky and have a device work even though the logic was wrong. Thanks @tonnenpinguin and @KlausGrössinger for help debugging this issue!
- Allow for more sessions to be opened. Thanks @Dodain for finding and fixing the issue.
This release adds support for the Trust & Go versions of the ATECC608B. These
chips reside at a different I2C address than normal ATECC parts. To use them,
you will need to add a parameter to the NervesKey.PKCS11.private_key/2
call in
your code:
NervesKey.PKCS11.private_key(engine, i2c: 1, type: :trust_and_go),
-
Changes
- Support Trust and Go modules
-
Bug fixes
- Ensure that the OpenSSL engine can't be loaded more than once. OpenSSL 1.1.1m and later return an error on the second load.
- Changes
- Reduce Makefile output
This release only bumps the version number. It doesn't have any code changes.
- Bug fixes
- Fix segfault with libp11 v0.4.11
- Bug fixes
- Change pkcs11 URL to specify
token
. See #12.
- Change pkcs11 URL to specify
- Bug fixes
- Add
:crypto
to the dependencies to fix Elixir 1.11 warning.
- Add
- Bug fixes
- Compile C code under
_build
rather than in thesrc
directory
- Compile C code under
This change refactors option passing to the private_key
helper function. Your
code can look like this now:
NervesKey.PKCS11.private_key(engine, i2c: 1),
This allows the helper to take more than one option. It can differentiate between primary and auxiliary keys now, but internally that doesn't make a difference currently.
- Bug fixes
- Improve robustness to ATECC508A errors by integrating improvements on other projects here
Initial release