From f92c5c4b9bb264dd4e8ca0aea9c97d8fc176849d Mon Sep 17 00:00:00 2001 From: crschnick Date: Thu, 16 Jan 2025 07:22:37 +0000 Subject: [PATCH] Check for secret key existence --- app/src/main/java/io/xpipe/app/util/VaultKeySecretValue.java | 2 +- core/src/main/java/io/xpipe/core/util/AesSecretValue.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/xpipe/app/util/VaultKeySecretValue.java b/app/src/main/java/io/xpipe/app/util/VaultKeySecretValue.java index 7aeb5c02e..99c202b81 100644 --- a/app/src/main/java/io/xpipe/app/util/VaultKeySecretValue.java +++ b/app/src/main/java/io/xpipe/app/util/VaultKeySecretValue.java @@ -27,7 +27,7 @@ public class VaultKeySecretValue extends AesSecretValue { @Override protected SecretKey getSecretKey() { - return DataStorage.get().getVaultKey(); + return DataStorage.get() != null ? DataStorage.get().getVaultKey() : null; } @Override diff --git a/core/src/main/java/io/xpipe/core/util/AesSecretValue.java b/core/src/main/java/io/xpipe/core/util/AesSecretValue.java index cd4115910..bf06d6dcd 100644 --- a/core/src/main/java/io/xpipe/core/util/AesSecretValue.java +++ b/core/src/main/java/io/xpipe/core/util/AesSecretValue.java @@ -48,6 +48,10 @@ public abstract class AesSecretValue extends EncryptedSecretValue { @SneakyThrows public byte[] encrypt(byte[] c) { SecretKey secretKey = getSecretKey(); + if (secretKey == null) { + throw new IllegalStateException("Missing secret key"); + } + Cipher cipher = Cipher.getInstance(ENCRYPT_ALGO); var iv = getNonce(IV_LENGTH_BYTE); cipher.init(Cipher.ENCRYPT_MODE, secretKey, new GCMParameterSpec(TAG_LENGTH_BIT, iv));