-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
nodeID should be created by the commissioner APIs but not by the controller apps #7540
Comments
The fundamental issue is the OperationalCredentialsDelegate has the wrong public interface, which fundamentally assume a "test" flow which has the controller assign the NodeID. There is no possibility of having the actual device attestation as part of the CSR processing by a CA, based on the public interface signature:
The DA signature is over the entire OpCSR elements, and having them split up prevents proper verification. Similarly:
The above API is called directly from inside the commissioner logic in Suggested fix:
|
Could you tell my how might I get the spec? |
This is trivially addressable for integrating commissioner apps with the approach introduced in #13294. |
@msandstedt @cjandhyala is this still an issue? Does it need to be fixed for 1.0? |
I believe we can now declare this as fixed with #13801, for which I had opened #13500. Most recently, commissioners could specify fabric and node IDs to signing infrastructure, which allows for one type of solution where a local entity manages IDs and prevents collisions on fabrics. But now signing infrastructure can also specify fabric and node IDs to commissioners, as the commissioner code will now extract these from certificates passed back through the operational credentials delegate. Let me know if you have any questions about this solution. |
Marking as resolved. |
Per 0.7 spec referred below (page 224) nodeID should be unique within the fabric, and fabricID is scoped to a RootCA.
Right now both python controller and chip-tool are hardcoding/randomly generating it in the app layer, while this should be left to SDK layer Commissioner APIs to make sure the nodeID generated is indeed unique to that fabric. Current implementation doesn't guarantee that.
Proposed Solution
<suggested fix, suggested enhancement>
The text was updated successfully, but these errors were encountered: