-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support for Hardware Secure Module (HSM) using Infineon Optiga Trust M (
#28397) * Added support for Optiga Trust M. * * Added no warning flag when applying patch for optiga-trust-m. * Add the optiga_lib_config_mtb.h * 1)Updated README.md for psoc6 lock-app example 2)Added infineon_trustm_provisioning.md * 1)Updated README.md for psoc6 lock-app * 1)Updated README.md for psoc6 lock-app * 1)Updated optiga-trust-m submodule 2)Updated README.md for psoc6 lock-app * 1)Updated DeviceAttestationCredsExampleTrustM.cpp 2)Updated the argument with infineon added * 1)Updated CHIPCryptoPALHsm_HKDF_trustm.cpp and CHIPCryptoPALHsm_HMAC_trustm.cpp * Merging with v1.1-branch * Resolve merge conflicts with v1.1-branch * * Updated the copyright dates. * Updated README. * Removed PersistentStorage File. * 1)Changes to enable build door-lock example with Trust M using python script 2)Fixed the bug for CHIPCryptoPALHsm_HMAC_trustm.cpp * Restyled by whitespace * Restyled by clang-format * [Cherrypick] CI: Fix for v1.1-branch CI, broken due to gdbgui (#28507) * ESP32: avoid installing gdbgui when not needed (#26542) ESP-IDF v4.4.4 requires gdbgui only when Python before 3.11 is used (see espressif/esp-idf@3974be7). Avoid installing it when not needed. Fixes: #25385 * Remove gdbgui requirement for esp32 (#28007) * Remove gdbgui requirement for esp32 * Fix qemu * Fix chef as well --------- Co-authored-by: Stefan Agner <[email protected]> Co-authored-by: Andrei Litvin <[email protected]> * Fix CI/CD issues: - Misspell - restyling - infineon build * Resolve CI/CD Build issues for "Build on Linux" --------- Co-authored-by: Ank Khandelwal <[email protected]> Co-authored-by: Restyled.io <[email protected]> Co-authored-by: Shubham Patil <[email protected]> Co-authored-by: Stefan Agner <[email protected]> Co-authored-by: Andrei Litvin <[email protected]>
- Loading branch information
1 parent
910be1f
commit eb23187
Showing
30 changed files
with
2,182 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# Infineon OPTIGA™ Trust M Provisioning for Matter | ||
|
||
To use Infineon OPTIGA™ Trust M for device attestation, Provisioning for | ||
OPTIGA™ Trust M with Matter test device Attestation certificate is needed. | ||
|
||
## Hardware setup: | ||
|
||
[Raspberry Pi 4](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/) | ||
|
||
[OPTIGA™ Trust M S2GO](https://www.infineon.com/cms/en/product/evaluation-boards/s2go-security-optiga-m/) | ||
|
||
[Shield2Go Adapter for Raspberry Pi](https://www.infineon.com/cms/en/product/evaluation-boards/s2go-adapter-rasp-pi-iot/) | ||
or Jumping Wire | ||
|
||
## Provisioning for OPTIGA™ Trust M | ||
|
||
The | ||
[Linux Tools for OPTIGA™ Trust M ](https://github.com/Infineon/linux-optiga-trust-m) | ||
can be used to perform provisioning by following the steps mentioned below. | ||
|
||
- Set up chip-tool on Raspberry Pi 4 by following the instruction listed at | ||
[Building chip-tool on Raspberry Pi ](https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/BUILDING.md#installing-prerequisites-on-raspberry-pi-4) | ||
- Clone the repo from Infineon Public GitHub | ||
|
||
``` | ||
$ git clone --recurse-submodules https://github.com/Infineon/linux-optiga-trust-m.git | ||
``` | ||
|
||
- Build the Linux tools for OPTIGA™ Trust M | ||
|
||
``` | ||
$ cd linux-optiga-trust-m/ | ||
$ ./trustm_installation_aarch64_script.sh | ||
``` | ||
|
||
- Run the script to generate Matter test DAC for lock-app using the public key | ||
extracted from the Infineon pre-provisioned Certificate and store it into | ||
0xe0e3 | ||
|
||
``` | ||
$ cd scripts/matter_provisioning/ | ||
$ ./matter_dac_provisioning.sh | ||
``` | ||
|
||
_Note:_ | ||
|
||
_By running this example matter_dac_provisioning.sh, the steps shown below are | ||
executed:_ | ||
|
||
_Step1: Extract the public key from the Infineon pre-provisioned | ||
Certificate(0xe0e0) using openssl command._ | ||
|
||
_Step2: Generate DAC test certificate using the extracted public key, Signed by | ||
[Matter test PAI](https://github.com/project-chip/connectedhomeip/blob/v1.1-branch/credentials/development/attestation/Matter-Development-PAI-FFF1-noPID-Cert.pem)_. | ||
Please note that production devices cannot re-use these test keys/certificates. | ||
|
||
_Step3: Write DAC test certificate into OPTIGA™ Trust M certificate slot | ||
0xe0e3_ | ||
|
||
_Step4: Write Matter test PAI into OPTIGA™ Trust M certificate slot 0xe0e8 | ||
and test CD into OPTIGA™ Trust M Arbitrary OID 0xf1e0._ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.