You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The CHIP device controller is not persisting the credentials (NOC and ICA) upon async retrieval from OperationalCredentialsDelegate. Currently, AdminPairingTable::Store(adminId) is called after root certificate has been retrieved while request for NOC is pending.
Expected Behavior
All credentials should be persisted, and loaded into runtime credentials for controller after they are available. Any subsequent operations requiring these credentials (such as Pairing) should also be delayed until the credentials are loaded.
Actual Behavior
Only root certificate is persisted, whereas NOC and ICA are not. Also, these are only set in adminPairingInfo and not loaded into controller's runtime credentials upon OnLocalNOCGenerated callback.
Steps to Reproduce
Clear any persistent storage
Initialize controller, it should request NOC through operational credentials delegate (upon not finding them in storage)
Return OnLocalNOCGenerated callback with some delay assuming NOC was generated through a service.
Re-initialize controller, it would only have retained root cert, but since NOC and ICA weren't persisted in storage, they will be requested again.
Proposed Solution
Store and load credentials after successful retrieval (and setting in adminPairingInfo object) in OnLocalNOCGenerated callback using following operations here
Problem
The CHIP device controller is not persisting the credentials (NOC and ICA) upon async retrieval from OperationalCredentialsDelegate. Currently,
AdminPairingTable::Store(adminId)
is called after root certificate has been retrieved while request for NOC is pending.Expected Behavior
All credentials should be persisted, and loaded into runtime credentials for controller after they are available. Any subsequent operations requiring these credentials (such as Pairing) should also be delayed until the credentials are loaded.
Actual Behavior
Only root certificate is persisted, whereas NOC and ICA are not. Also, these are only set in
adminPairingInfo
and not loaded into controller's runtime credentials uponOnLocalNOCGenerated
callback.Steps to Reproduce
OnLocalNOCGenerated
callback with some delay assuming NOC was generated through a service.Proposed Solution
Store and load credentials after successful retrieval (and setting in
adminPairingInfo
object) inOnLocalNOCGenerated
callback using following operations hereAny attempts to operations requiring these credentials should also be either delayed or returned with error.
The text was updated successfully, but these errors were encountered: