-
Notifications
You must be signed in to change notification settings - Fork 34
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
fdo-manufacturing-client plain-di
does work
#477
Comments
|
Because of the deserialize implementation that's automatically generated, at this moment the expected value for the public_key_store in the manufacturing server is a CBOR array of the DER certificate. This commit adds a new type PlainBytes which (de)serializes transparently, and makes the manufacturing server use it for the public key store. NOTE: this means that with this patch, the store format on disk changes. This store is a ReadOnly (the server will never write to it), but if anyone would've put a CBOR file in place, that will now fail to open. Raw DER was always the intention (and documented) format, but it still is a risk. Signed-off-by: Patrick Uiterwijk <[email protected]> Fixes: fdo-rs#477
As described in https://fedora-iot.github.io/fido-device-onboard-rs/specs/diun.html,
manufacturing-server
needs to get public key prior to the start of the protocol.Currently
manufacturing-server
tries to load the public key here:https://github.com/fedora-iot/fido-device-onboard-rs/blob/69fec227de04d98c51a5b5d8eb218bdc264f0a3f/manufacturing-server/src/handlers/di.rs#L77-L84
but there are several problems for it.
{public_key_store}/{msg_info}
, whichmsg_info
is not a pub key file name. It should allow uses to set the path likepublic_key_path
via configfile.store.load_data()
to load the public key butload_data()
deserialize the public key. It is not practical that users need to set the public key with the format change.Also, there is no integration test to reveal
fdo-manufacturing-client plain-di
does not work.The text was updated successfully, but these errors were encountered: