|
@@ -22,7 +22,8 @@ public class CryptorImplTest {
|
|
|
public void testMasterkeyDecryptionWithCorrectPassphrase() throws IOException {
|
|
|
final String testMasterKey = "{\"version\":3,\"scryptSalt\":\"AAAAAAAAAAA=\",\"scryptCostParam\":2,\"scryptBlockSize\":8," //
|
|
|
+ "\"primaryMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"," //
|
|
|
- + "\"hmacMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"}";
|
|
|
+ + "\"hmacMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"," //
|
|
|
+ + "\"versionMac\":\"iUmRRHITuyJsJbVNqGNw+82YQ4A3Rma7j/y1v0DCVLA=\"}";
|
|
|
final Cryptor cryptor = TestCryptorImplFactory.insecureCryptorImpl();
|
|
|
cryptor.readKeysFromMasterkeyFile(testMasterKey.getBytes(), "asd");
|
|
|
}
|
|
@@ -31,7 +32,8 @@ public class CryptorImplTest {
|
|
|
public void testMasterkeyDecryptionWithWrongPassphrase() throws IOException {
|
|
|
final String testMasterKey = "{\"version\":3,\"scryptSalt\":\"AAAAAAAAAAA=\",\"scryptCostParam\":2,\"scryptBlockSize\":8," //
|
|
|
+ "\"primaryMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"," //
|
|
|
- + "\"hmacMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"}";
|
|
|
+ + "\"hmacMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"," //
|
|
|
+ + "\"versionMac\":\"iUmRRHITuyJsJbVNqGNw+82YQ4A3Rma7j/y1v0DCVLA=\"}";
|
|
|
final Cryptor cryptor = TestCryptorImplFactory.insecureCryptorImpl();
|
|
|
cryptor.readKeysFromMasterkeyFile(testMasterKey.getBytes(), "qwe");
|
|
|
}
|
|
@@ -39,17 +41,38 @@ public class CryptorImplTest {
|
|
|
@Test(expected = UnsupportedVaultFormatException.class)
|
|
|
public void testMasterkeyDecryptionWithWrongVaultFormat() throws IOException {
|
|
|
final String testMasterKey = "{\"version\":-1,\"scryptSalt\":\"AAAAAAAAAAA=\",\"scryptCostParam\":2,\"scryptBlockSize\":8," //
|
|
|
+ + "\"primaryMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"," //
|
|
|
+ + "\"hmacMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"," //
|
|
|
+ + "\"versionMac\":\"iUmRRHITuyJsJbVNqGNw+82YQ4A3Rma7j/y1v0DCVLA=\"}";
|
|
|
+ final Cryptor cryptor = TestCryptorImplFactory.insecureCryptorImpl();
|
|
|
+ cryptor.readKeysFromMasterkeyFile(testMasterKey.getBytes(), "asd");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test(expected = UnsupportedVaultFormatException.class)
|
|
|
+ public void testMasterkeyDecryptionWithMissingVersionMac() throws IOException {
|
|
|
+ final String testMasterKey = "{\"version\":3,\"scryptSalt\":\"AAAAAAAAAAA=\",\"scryptCostParam\":2,\"scryptBlockSize\":8," //
|
|
|
+ "\"primaryMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"," //
|
|
|
+ "\"hmacMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"}";
|
|
|
final Cryptor cryptor = TestCryptorImplFactory.insecureCryptorImpl();
|
|
|
- cryptor.readKeysFromMasterkeyFile(testMasterKey.getBytes(), "qwe");
|
|
|
+ cryptor.readKeysFromMasterkeyFile(testMasterKey.getBytes(), "asd");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test(expected = UnsupportedVaultFormatException.class)
|
|
|
+ public void testMasterkeyDecryptionWithWrongVersionMac() throws IOException {
|
|
|
+ final String testMasterKey = "{\"version\":3,\"scryptSalt\":\"AAAAAAAAAAA=\",\"scryptCostParam\":2,\"scryptBlockSize\":8," //
|
|
|
+ + "\"primaryMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"," //
|
|
|
+ + "\"hmacMasterKey\":\"mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q==\"," //
|
|
|
+ + "\"versionMac\":\"iUmRRHITuyJsJbVNqGNw+82YQ4A3Rma7j/y1v0DCVLa=\"}";
|
|
|
+ final Cryptor cryptor = TestCryptorImplFactory.insecureCryptorImpl();
|
|
|
+ cryptor.readKeysFromMasterkeyFile(testMasterKey.getBytes(), "asd");
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testMasterkeyEncryption() throws IOException {
|
|
|
final String expectedMasterKey = "{\"version\":3,\"scryptSalt\":\"AAAAAAAAAAA=\",\"scryptCostParam\":16384,\"scryptBlockSize\":8," //
|
|
|
+ "\"primaryMasterKey\":\"BJPIq5pvhN24iDtPJLMFPLaVJWdGog9k4n0P03j4ru+ivbWY9OaRGQ==\"," //
|
|
|
- + "\"hmacMasterKey\":\"BJPIq5pvhN24iDtPJLMFPLaVJWdGog9k4n0P03j4ru+ivbWY9OaRGQ==\"}";
|
|
|
+ + "\"hmacMasterKey\":\"BJPIq5pvhN24iDtPJLMFPLaVJWdGog9k4n0P03j4ru+ivbWY9OaRGQ==\"," //
|
|
|
+ + "\"versionMac\":\"iUmRRHITuyJsJbVNqGNw+82YQ4A3Rma7j/y1v0DCVLA=\"}";
|
|
|
final Cryptor cryptor = TestCryptorImplFactory.insecureCryptorImpl();
|
|
|
cryptor.randomizeMasterkey();
|
|
|
final byte[] masterkeyFile = cryptor.writeKeysToMasterkeyFile("asd");
|