-
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.
Allow remote signing infrastructure to assign operational IDs (#13801)
* Allow remote signing infrastructure to assign operational IDs The operational credentials delegate interface includes the SetFabricIdForNextNOCRequest and SetNodeIdForNextNOCRequest methods, which are supposed to provide non-binding operational ID hints to signers. However, these actually are not optional because no matter what identifiers the signer encloses in the certificate chain, the commissioner assumes the signer has honored its suggestions and will not be able to locate or communicate with the commissioned node unless it carries the identifiers the commissioner has proposed. This commit fixes the issue by using the signer-provided certificate chain as source of truth, extracting compressed fabric ID and node ID from this. This will not disrupt signers that honor the commissioner's hints, but also works for signers that assign their own IDs. In the case of a combined commissioner / admin, the signer is free to assign node IDs of its choice. In the case of a standalone commissioner implementation that does not establish CASE or invoke CommissioningComplete, the signer is free to select all of root cert, fabric ID and node ID. In all cases, the resulting PeerId struct in the CommissioneeDeviceProxy will carry identifiers that match the certificate chain from the signer. Fixes #13500 * per tcarmelveilleux, do not add PeerId dependency to credentials code
- Loading branch information
1 parent
ad8fa0e
commit 87d3698
Showing
9 changed files
with
163 additions
and
15 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
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
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