Always use utility method in KeyCrypterScrypt for determining the scrypt salt.

This commit is contained in:
Andreas Schildbach
2016-08-23 23:06:59 +02:00
parent 80bdde5803
commit 4dd3a3370b
3 changed files with 5 additions and 15 deletions

View File

@@ -42,7 +42,6 @@ import org.spongycastle.crypto.params.KeyParameter;
import java.io.InputStream;
import java.math.BigInteger;
import java.security.SecureRandom;
import java.security.SignatureException;
import java.util.Arrays;
import java.util.List;
@@ -65,11 +64,7 @@ public class ECKeyTest {
@Before
public void setUp() throws Exception {
SecureRandom secureRandom = new SecureRandom();
byte[] salt = new byte[KeyCrypterScrypt.SALT_LENGTH];
secureRandom.nextBytes(salt);
Protos.ScryptParameters.Builder scryptParametersBuilder = Protos.ScryptParameters.newBuilder().setSalt(ByteString.copyFrom(salt));
Protos.ScryptParameters.Builder scryptParametersBuilder = Protos.ScryptParameters.newBuilder().setSalt(ByteString.copyFrom(KeyCrypterScrypt.randomSalt()));
ScryptParameters scryptParameters = scryptParametersBuilder.build();
keyCrypter = new KeyCrypterScrypt(scryptParameters);

View File

@@ -28,7 +28,6 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.security.SecureRandom;
import java.util.Random;
import java.util.UUID;
@@ -50,9 +49,8 @@ public class KeyCrypterScryptTest {
@Before
public void setUp() throws Exception {
byte[] salt = new byte[KeyCrypterScrypt.SALT_LENGTH];
new SecureRandom().nextBytes(salt);
Protos.ScryptParameters.Builder scryptParametersBuilder = Protos.ScryptParameters.newBuilder().setSalt(ByteString.copyFrom(salt));
Protos.ScryptParameters.Builder scryptParametersBuilder = Protos.ScryptParameters.newBuilder()
.setSalt(ByteString.copyFrom(KeyCrypterScrypt.randomSalt()));
scryptParameters = scryptParametersBuilder.build();
BriefLogFormatter.init();

View File

@@ -93,8 +93,6 @@ public class WalletTest extends TestWithWallet {
private static final CharSequence PASSWORD1 = "my helicopter contains eels";
private static final CharSequence WRONG_PASSWORD = "nothing noone nobody nowhere";
private SecureRandom secureRandom = new SecureRandom();
private final Address OTHER_ADDRESS = new ECKey().toAddress(PARAMS);
@Before
@@ -2094,9 +2092,8 @@ public class WalletTest extends TestWithWallet {
// Try added an ECKey that was encrypted with a differenct ScryptParameters (i.e. a non-homogenous key).
// This is not allowed as the ScryptParameters is stored at the Wallet level.
byte[] salt = new byte[KeyCrypterScrypt.SALT_LENGTH];
secureRandom.nextBytes(salt);
Protos.ScryptParameters.Builder scryptParametersBuilder = Protos.ScryptParameters.newBuilder().setSalt(ByteString.copyFrom(salt));
Protos.ScryptParameters.Builder scryptParametersBuilder = Protos.ScryptParameters.newBuilder()
.setSalt(ByteString.copyFrom(KeyCrypterScrypt.randomSalt()));
Protos.ScryptParameters scryptParameters = scryptParametersBuilder.build();
KeyCrypter keyCrypterDifferent = new KeyCrypterScrypt(scryptParameters);
ECKey ecKeyDifferent = new ECKey();