Skip to content

Commit 715091a

Browse files
committed
Revert AlphanumericRandomStringService hack for seed generation.
1 parent 881618e commit 715091a

File tree

2 files changed

+5
-13
lines changed

2 files changed

+5
-13
lines changed

hub/src/main/java/ch/iterate/hub/crypto/uvf/UvfMetadataPayload.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.openapitools.jackson.nullable.JsonNullableModule;
1616

1717
import java.net.URI;
18-
import java.nio.charset.StandardCharsets;
1918
import java.security.NoSuchAlgorithmException;
2019
import java.security.spec.InvalidKeySpecException;
2120
import java.text.ParseException;
@@ -99,13 +98,10 @@ public String toJSON() throws JsonProcessingException {
9998

10099
public static UvfMetadataPayload create() {
101100
final String kid = Base64URL.encode(new AlphanumericRandomStringService(4).random()).toString();
102-
// TODO hashDirectoryId String/byte[]? byte[] -> UTF-8 -> byte[] not 1:1! See UvfMetadataPayloadTest -> we should use byte array directly going into hashDirectoryId -> do we need to write own CryptoDirectory?
103-
// final byte[] rawSeed = new byte[32];
104-
// FastSecureRandomProvider.get().provide().nextBytes(rawSeed);
105-
// final byte[] kdfSalt = new byte[32];
106-
// FastSecureRandomProvider.get().provide().nextBytes(kdfSalt);
107-
final byte[] rawSeed = new AlphanumericRandomStringService(4).random().getBytes(StandardCharsets.UTF_8);
108-
final byte[] kdfSalt = new AlphanumericRandomStringService(4).random().getBytes(StandardCharsets.UTF_8);
101+
final byte[] rawSeed = new byte[32];
102+
FastSecureRandomProvider.get().provide().nextBytes(rawSeed);
103+
final byte[] kdfSalt = new byte[32];
104+
FastSecureRandomProvider.get().provide().nextBytes(kdfSalt);
109105
return new UvfMetadataPayload()
110106
.withFileFormat("AES-256-GCM-32k")
111107
.withNameFormat("AES-SIV-512-B64URL")

hub/src/test/java/ch/iterate/hub/crypto/uvf/UvfMetadataPayloadTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import ch.cyberduck.core.exception.BackgroundException;
1313

1414
import org.cryptomator.cryptolib.api.UVFMasterkey;
15-
import org.cryptomator.cryptolib.common.ECKeyPair;
16-
import org.cryptomator.cryptolib.common.P384KeyPair;
1715
import org.junit.jupiter.api.Test;
1816

1917
import java.nio.charset.StandardCharsets;
@@ -26,7 +24,6 @@
2624
import java.util.HashMap;
2725
import java.util.UUID;
2826

29-
import ch.iterate.hub.crypto.UserKeys;
3027
import ch.iterate.hub.crypto.exceptions.NotECKeyException;
3128
import com.fasterxml.jackson.core.JsonProcessingException;
3229
import com.nimbusds.jose.JOSEException;
@@ -36,7 +33,6 @@
3633
import com.nimbusds.jose.jwk.OctetSequenceKey;
3734
import com.nimbusds.jose.util.Base64URL;
3835

39-
import static ch.iterate.hub.crypto.KeyHelper.decodeKeyPair;
4036
import static ch.iterate.hub.crypto.KeyHelper.decodePrivateKey;
4137
import static org.junit.jupiter.api.Assertions.*;
4238

@@ -159,7 +155,7 @@ public void decryptWithRecoveryKey() throws ParseException, JOSEException, NoSuc
159155
}
160156

161157
@Test
162-
public void testWorkaround(){
158+
public void testWorkaround() {
163159
// example of byte array -> UTF-8 -> byte array not working
164160
final byte[] rootDirId = Base64.getDecoder().decode("L3CoPPdXaaDgrM5YhBujn2t2LFTE5XjYUzC1htzk6tY=");
165161
assertFalse(Arrays.equals(rootDirId, new String(rootDirId, StandardCharsets.UTF_8).getBytes(StandardCharsets.UTF_8)));

0 commit comments

Comments
 (0)