Description
Problem
I was unable to onboard devices after extending the Owner Voucher ownership. After some digging, I found the following trace message in the owner-onboarding-server:
2024-03-24T15:37:40.059Z TRACE fdo_store::directory > Error deserializing data "/etc/fdo/stores/owner_vouchers/b1413d43-2572-45bf-31e2-c0b80231feb5": Array parse error: Invalid top level type encountered: must be array (was Negative)
How to reproduce
- Create two sets of keys A and B (diun, owner, device-ca and manufacturer) using
fdo-admin-tool generate-key-and-cert
- Point the manufacturing server to key set A
- Point the owner-onboarding-server to key set B
- Run the fdo-manufacturing-client on a device
- Concatenate the manufacturer certificate of set A and B, and configure this bundle in the Rendez-vous server as trusted_manufacturer_keys_path
- Run
fdo-owner-tool extend-ownership-voucher --current-owner-private-key <path-to-owner-key-set-A> --new-owner-cert <path-to-owner-cert-set-B>
If the voucher is located in a directory that is polled by the owner-onboarding-server, the following message appears:
2024-03-24T15:37:40.059Z TRACE fdo_store::directory > Error deserializing data "/etc/fdo/stores/owner_vouchers/b1413d43-2572-45bf-31e2-c0b80231feb5": Array parse error: Invalid top level type encountered: must be array (was Negative)
The device doesn't get registered to the rendez-vous server, and the onboarding therefore fails.
Activity