From 7816325e636287b57d55ecaac98400c653028987 Mon Sep 17 00:00:00 2001 From: AsamK Date: Sun, 5 Feb 2023 12:49:12 +0100 Subject: [PATCH] Fix issue with missing pni identity key Fixes #1176 --- .../asamk/signal/manager/storage/SignalAccount.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java b/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java index 9d44c297..4eea6af0 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java @@ -1378,7 +1378,7 @@ public class SignalAccount implements Closeable { public void setPniIdentityKeyPair(final IdentityKeyPair identityKeyPair) { pniIdentityKeyPair = identityKeyPair; - final var pniPublicKey = getPniIdentityKeyPair().getPublicKey(); + final var pniPublicKey = identityKeyPair.getPublicKey(); getIdentityKeyStore().saveIdentity(getPni(), pniPublicKey); getIdentityKeyStore().setIdentityTrustLevel(getPni(), pniPublicKey, TrustLevel.TRUSTED_VERIFIED); save(); @@ -1594,9 +1594,13 @@ public class SignalAccount implements Closeable { final var aciPublicKey = getAciIdentityKeyPair().getPublicKey(); getIdentityKeyStore().saveIdentity(getAci(), aciPublicKey); getIdentityKeyStore().setIdentityTrustLevel(getAci(), aciPublicKey, TrustLevel.TRUSTED_VERIFIED); - final var pniPublicKey = getPniIdentityKeyPair().getPublicKey(); - getIdentityKeyStore().saveIdentity(getPni(), pniPublicKey); - getIdentityKeyStore().setIdentityTrustLevel(getPni(), pniPublicKey, TrustLevel.TRUSTED_VERIFIED); + if (getPniIdentityKeyPair() == null) { + setPniIdentityKeyPair(KeyUtils.generateIdentityKeyPair()); + } else { + final var pniPublicKey = getPniIdentityKeyPair().getPublicKey(); + getIdentityKeyStore().saveIdentity(getPni(), pniPublicKey); + getIdentityKeyStore().setIdentityTrustLevel(getPni(), pniPublicKey, TrustLevel.TRUSTED_VERIFIED); + } } public void deleteAccountData() throws IOException { -- 2.50.1