Skip to content

Implement Keys

Matti Viljanen requested to merge keys into main

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 Keys to registerSecondDevice to fix #652 and #656
  • 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
  • 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 MasterKey and StorageServiceKey to libsignal-service
  • Make handling the keys a trait
  • Respond to Keys sync request
  • libsignal-service-rs#310 has been merged and updated here
  • All messages have been tested -- see linked PR
Edited by Matti Viljanen

Merge request reports

Loading