ThePassionate opened a new pull request, #18169:
URL: https://github.com/apache/nuttx/pull/18169
## Summary
This PR adds comprehensive support for software-based cryptographic key
management in NuttX, including MTD storage persistence and key generation
capabilities.
**Changes included:**
1. **crypto: support software key management based on MTD**
- Implements a storage backend using MTD (Memory Technology Device) to
persist cryptographic keys across reboots.
2. **crypto/swkey: support generating AES keys**
- Adds support for generating random AES keys (128, 192, and 256-bit) via
the software key manager.
3. **crypto/swkey: support generating ECC P-256 keys**
- Adds support for generating ECC secp256r1 (P-256) key pairs.
4. **crypto/keymgmt: return actual length if key exported successfully**
- Fixes `cryptodev_getkeystatus` to return the actual length of the
exported key data instead of a fixed size or error code on success.
## Impact
- **Is this a breaking change?** No
- **New features?** Yes (Soft Key Management, Key Generation, MTD
persistence)
- **Bug fixes?** Yes (Export length fix)
- **Security patches?** No
- **Hardware Support:** Architecture independent (depends on MTD and RNG)
## Testing
**Verification Status:**
- Basic functionality of software key management compilation and logic has
been verified.
- Initial validation of AES/ECC generation logic.
**Note:**
Comprehensive test cases specifically for the MTD-based persistence feature
(including mount/unmount scenarios and data integrity checks across reboots)
are currently being developed and will be provided in a follow-up commit or PR.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]