Harden rotateSignedPrekey against nonexistent identity key

This is now what happens after Signal Desktop discovers that it is no
longer linked with a mobile device, since the identityh key is deleted.
This commit is contained in:
Scott Nonnenberg 2018-03-12 14:09:08 -07:00
parent 153a22f46b
commit 1c6d91b59c
No known key found for this signature in database
GPG key ID: 5F82280C35134661

View file

@ -154,9 +154,16 @@
var server = this.server;
var cleanSignedPreKeys = this.cleanSignedPreKeys;
// TODO: harden this against missing identity key? Otherwise, we get
// retries every five seconds.
return store.getIdentityKeyPair().then(function(identityKey) {
return libsignal.KeyHelper.generateSignedPreKey(identityKey, signedKeyId);
}, function(error) {
console.log('Failed to get identity key. Canceling key rotation.');
}).then(function(res) {
if (!res) {
return;
}
console.log('Saving new signed prekey', res.keyId);
return Promise.all([
textsecure.storage.put('signedKeyId', signedKeyId + 1),