From f50629ff8172610677eaf4692e70460c24c15558 Mon Sep 17 00:00:00 2001 From: m2049r Date: Thu, 10 May 2018 15:26:44 +0200 Subject: [PATCH] check for encoded pw (#280) --- .../main/java/com/m2049r/xmrwallet/util/KeyStoreHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/m2049r/xmrwallet/util/KeyStoreHelper.java b/app/src/main/java/com/m2049r/xmrwallet/util/KeyStoreHelper.java index 4afd9c4..abddbe6 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/util/KeyStoreHelper.java +++ b/app/src/main/java/com/m2049r/xmrwallet/util/KeyStoreHelper.java @@ -70,12 +70,12 @@ public class KeyStoreHelper { try { KeyStoreHelper.createKeys(context, RSA_ALIAS); sig = KeyStoreHelper.signData(RSA_ALIAS, data); + return CrazyPassEncoder.encode(cnSlowHash(sig)); } catch (NoSuchProviderException | NoSuchAlgorithmException | InvalidAlgorithmParameterException | KeyStoreException | InvalidKeyException | SignatureException ex) { throw new IllegalStateException(ex); } - return CrazyPassEncoder.encode(cnSlowHash(sig)); } public static boolean saveWalletUserPass(@NonNull Context context, String wallet, String password) { @@ -110,6 +110,7 @@ public class KeyStoreHelper { String walletKeyAlias = SecurityConstants.WALLET_PASS_KEY_PREFIX + wallet; String encoded = context.getSharedPreferences(SecurityConstants.WALLET_PASS_PREFS_NAME, Context.MODE_PRIVATE) .getString(wallet, ""); + if (encoded.isEmpty()) throw new BrokenPasswordStoreException(); byte[] data = Base64.decode(encoded, Base64.DEFAULT); byte[] decrypted = KeyStoreHelper.decrypt(walletKeyAlias, data); if (decrypted == null) throw new BrokenPasswordStoreException();