mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-05-04 20:30:36 +00:00
Don't replace the Bouncy Castle security provider
We only use Bouncy Castle for scrypt, so replacing the security provider was a nice to have. It's causing issues because Proguard removes Bouncy Castle classes. As we just released a beta, this is a quick fix and we may revisit this later.
This commit is contained in:
parent
91f9a6756a
commit
1f839a886d
2 changed files with 4 additions and 16 deletions
|
@ -3,7 +3,6 @@ package com.beemdevelopment.aegis.crypto;
|
|||
import android.os.Build;
|
||||
|
||||
import org.bouncycastle.crypto.generators.SCrypt;
|
||||
import org.bouncycastle.jce.provider.BouncyCastleProvider;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
|
@ -13,9 +12,7 @@ import java.nio.charset.StandardCharsets;
|
|||
import java.security.InvalidAlgorithmParameterException;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.Provider;
|
||||
import java.security.SecureRandom;
|
||||
import java.security.Security;
|
||||
import java.security.spec.AlgorithmParameterSpec;
|
||||
import java.util.Arrays;
|
||||
|
||||
|
@ -39,15 +36,6 @@ public class CryptoUtils {
|
|||
public static final int CRYPTO_SCRYPT_r = 8;
|
||||
public static final int CRYPTO_SCRYPT_p = 1;
|
||||
|
||||
// replace the BC provider from Android with the one bundled with the app
|
||||
static {
|
||||
final Provider provider = Security.getProvider(BouncyCastleProvider.PROVIDER_NAME);
|
||||
if (provider != null && !provider.getClass().equals(BouncyCastleProvider.class)) {
|
||||
Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
|
||||
Security.addProvider(new BouncyCastleProvider());
|
||||
}
|
||||
}
|
||||
|
||||
public static SecretKey deriveKey(byte[] input, SCryptParameters params) {
|
||||
byte[] keyBytes = SCrypt.generate(input, params.getSalt(), params.getN(), params.getR(), params.getP(), CRYPTO_AEAD_KEY_SIZE);
|
||||
return new SecretKeySpec(keyBytes, 0, keyBytes.length, "AES");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue