Implement Keys
On top of PNI, because this needs libsignal-service-rs#310 which has updated dependencies.
Implement Keys response, with some additional bells and whistles.
By extension, this requies us to implement master key and storage server key as well.
- Tests for deriving storage service key
- Add
KeystoregisterSecondDeviceto fix #652 (closed) and #656 (closed) - Add additional checks for handling sync messages
- Signal Desktop:
MessageReceiver::handleSyncMessage(envelope, syncMessage)for inspiration - Only secondary devices can send sync request messages
- All devices can respond to sync requests too
- Signal Desktop:
Add PIN lock "support" (assert that it doesn't exist for the time being)- Out of scope -- see #149
- Generate master/storage keys when registering as primary device
- Sync master/storage keys from primary device when linking as secondary device
- ClientActor migration sounds somewhat proper..?
- Move
MasterKeyandStorageServiceKeyto libsignal-service - Make handling the keys a trait
- Respond to
Keyssync request - libsignal-service-rs#310 has been merged and updated here
- All messages have been tested -- see linked PR
Edited by Matti Viljanen