-
Notifications
You must be signed in to change notification settings - Fork 25
add wolfhsm examples for pico platform #264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Hi @hnampally Wow, we are so excited to see a submission by the community for a port! Thanks for taking the time to contribute this. First things first, wolfSSL requires any external contributors to sign a contributor agreement. Could you please email support@wolfssl.com referencing this PR and requesting a contributor form? Second, could you tell us a bit more about why you are interested in wolfHSM, and specifically why you are interested in getting it running on the Pico2 in particular? Looking forward to more discussion! |
|
Hi @bigbrett Thank you for your response! I’m excited to contribute to the wolfHSM ecosystem. Regarding my interest in the project and the Pico 2: This is a personal hobby project driven by my interest to learn secure embedded systems. My primary goal has been to explore ways to offload cryptographic operations from a high-level OS (running on a Raspberry Pi 4) to a dedicated "Secure Element." I chose the Pico 2 (RP2350) because of its wide community support and offers advanced security features at an affordable price point—specifically Arm TrustZone, OTP and the dedicated hardware TRNG. Since the wolfSSL team has already done the excellent work of porting wolfCrypt to the Pico platform, it provided a perfect foundation for me to begin running some simple wolfHSM examples. Currently, I am working on a secure (SCP03 wrapped) SPI transport layer to bridge the wolfHSM client (running on QNX 8.0 SDP via the "QNX Everywhere" hobbyist license) with the wolfHSM server on the Pico 2. This project is strictly non-commercial. My hope is that this serves as a useful reference implementation for other developers looking to implement hardware-backed security on a budget. I’ve received the contributor agreement from Kareem, signed agreement has been returned to the support team. I look forward to your feedback on this project idea! |
|
Thanks @hnampally. Once it gets approved internally, we will start reviewing. We will also want to get a Pico2 on our end so we can test things. Given all this, I don't expect this to get merged quickly, but if you are willing to stay the course I don't see a reason why we can't eventually get this in after some review! |
|
Contributor agreement approved. OK to review. |
This PR contains examples demonstrating dual-core communication using wolfHSM Client -Server architecture on the Raspberry Pi Pico-2.
pico2_demo_dual): A simple client-server echo test.pico2_demo_sha256): Offloading SHA256 hashing from the client (Core 1) to the server (Core 0).Both examples use shared memory for transport for inter core communication.
Tested on RP2350 board.