0.7.0
Changelog
0.7.0 (2021-03-23)
Main features and bugfixes delivered
- Added support for admin clients in the service. Admins can perform two operations forbidden for other clients:
ListClients
(returns a list of clients with active data available in at least one provider), andDeleteClient
(which removes all data stored by the service for a given client). - Updated our PKCS11 backend to use an improved, higher-level crate (
cryptoki
) that offers a safer interface. - Two new providers were added, one for ATECCx08 devices via CryptoAuthLib, and one for Trusted Services running in a Trusted Execution Environment. Both are under development and thus not ready for production deployments.
- Fixed a bug where all keys reported by
ListKeys
were shown asMbedCryptoProvider
keys.
Implemented enhancements:
- Stop the duplication of key ID conversions #331
- Add key management operations support #267
- Enable TS context initialization #266
- Create the Trusted Service bindings #265
- Improve import key support in TPM provider #251
- Investigate and define the work required for SPIFFE-based client identity management #232
- Make existence of key info consistent with existence of key #149
- Extract Docker images into own repo #124
- Add version structures for better handling of versions #43
- Rearrange modules for a more structured feel #32
- Change CI to use published Docker image #357 (ionut-arm)
- Improve coverage script #348 (ionut-arm)
- Add coverage checking in nightly run #347 (ionut-arm)
- Trusted service provider #330 (ionut-arm)
- Add admin configuration #316 (ionut-arm)
- Add new parsec provider using ATECCx08 cryptochip via CryptoAuthentication Library #303 (RobertDrazkowskiGL)
- Improve error handling in builder #298 (ionut-arm)
- Add Changelog file (#278) #280 (ionut-arm)
- Remove PKCS11 single thread lock (#264) #277 (ionut-arm)
Fixed bugs:
- Move the spiffe related features in its own branch #327
- Resolve default implementation issue for
list\_keys
inProvide
#312 - ListKeys should only be callable on the Core provider #310
- Service should not start if some components weren't built successfully #297
- No changelog for the releases #278
- PKCS11 multi-threading #264
- Fix ImportKey to allow importing private key #126
- PKCS 11 provider stress tests sometimes fail #116
- Update docker registry for TPM2 images #356 (ionut-arm)
- Run the Codecov script outside container #353 (ionut-arm)
- Fix code coverage docker command #352 (ionut-arm)
- Remove the spiffe-based authenticator #328 (hug-dev)
Security fixes:
- Add a test for admin operations #309
- Implement admin logic #308
- Investigate admin role and admin-level operations #292
- Add failure-counter mechanism #176
Closed issues:
- Implement ListClients and DeleteClient in the core provider #311
- Correct lint issues found after the toolchain upgrade to version 1.49.0 #305
- Investigate cross-compilation to Linux on Aarch64 #300
- Investigate adding ListClients and DeleteClient operations #293
- Consume the new, safer Rust PKCS#11 interface into Parsec when it is available #272
- Add a SPIFFE JWT-SVID multitenancy test #269
- Add a JWT-SVID Authenticator #268
- Investigate and define the work required for compatibility with Arm Firmware Framework for Armv8-A (FF-A) #247
Merged pull requests:
- Prepare for 0.7.0 release #363 (hug-dev)
- Update to latest TSS crate version #362 (ionut-arm)
- Enable code coverage for PKCS11, disable for TS #361 (ionut-arm)
- Add Edmund to Contributors list #359 (ionut-arm)
- Add myself to contributors, re. rust-cryptoki #358 (nickray)
- Add some cross-compilation tests #355 (hug-dev)
- Upgrade all dependencies to their latest version #345 (hug-dev)
- Create KeyInfoManagerClient #343 (ionut-arm)
- Parsec PsaHashCompare operation implementation for CryptoAuthLib provider #333 (akazimierskigl)
- Parsec PsaGenerateRandom operation implementation for CryptoAuthLib provider #325 (RobertDrazkowskiGL)
- Add consistency in key creation/deletion #324 (hug-dev)
- Make the authenticators their own features #322 (puiterwijk)
- Improve mandatory Provide methods #321 (ionut-arm)
- Use newest TSS crate #320 (ionut-arm)
- Add ListClients and DeleteClient operations #318 (hug-dev)
- Added support for PsaHashCompute to CryptoAuthLib provider. #317 (RobertDrazkowskiGL)
- Update service dependencies #314 (ionut-arm)
- Add a test checking ListKeys provider target #313 (hug-dev)
- Fix lint warning #306 (ionut-arm)
- Return correct key provider id in list_keys #302 (jn9e9)
- Use the new abstraction on the PKCS11 interface #301 (hug-dev)
- Switch Travis CI build to cron-only #299 (ionut-arm)
- Add a JWT-SVID authenticator #283 (hug-dev)
- Add Patrick to the contributor list #281 (puiterwijk)