diff --git a/datasafe-business/pom.xml b/datasafe-business/pom.xml
index 9a328d146..315a0f278 100644
--- a/datasafe-business/pom.xml
+++ b/datasafe-business/pom.xml
@@ -187,11 +187,10 @@
com.fasterxml.jackson.dataformat
jackson-dataformat-yaml
- 2.15.4
+ ${jackson.version}
test
-
@@ -232,6 +231,9 @@
javax.xml.bind:jaxb-api:jar
+ com.fasterxml.jackson.core:jackson-annotations
+ com.fasterxml.jackson.core:jackson-core
+ com.fasterxml.jackson.core:jackson-databind
javax.inject:javax.inject
com.amazonaws
org.bouncycastle
diff --git a/datasafe-encryption/datasafe-encryption-impl/src/test/java/de/adorsys/datasafe/encrypiton/impl/keystore/KeyStoreServiceTest.java b/datasafe-encryption/datasafe-encryption-impl/src/test/java/de/adorsys/datasafe/encrypiton/impl/keystore/KeyStoreServiceTest.java
index 921120e65..4e40cdcf9 100644
--- a/datasafe-encryption/datasafe-encryption-impl/src/test/java/de/adorsys/datasafe/encrypiton/impl/keystore/KeyStoreServiceTest.java
+++ b/datasafe-encryption/datasafe-encryption-impl/src/test/java/de/adorsys/datasafe/encrypiton/impl/keystore/KeyStoreServiceTest.java
@@ -71,13 +71,28 @@ void createKeyStoreEmptyConfig() throws Exception {
Assertions.assertEquals(4, list.size());
}
@Test
- void updateKeyStoreReadKeyPassword() throws Exception {
- KeyCreationConfig config = KeyCreationConfig.builder().signKeyNumber(0).encKeyNumber(1).build();
- KeyStore keyStore = keyStoreService.createKeyStore(keyStoreAuth, config);
- KeyStoreAuth newKeystoreAuth = new KeyStoreAuth(new ReadStorePassword("newstorepass"), new ReadKeyPassword("newkeypass".toCharArray()));
- KeyStore updatedKeyStore = keyStoreService.updateKeyStoreReadKeyPassword(keyStore, keyStoreAuth, newKeystoreAuth);
- Assertions.assertTrue(Arrays.equals("newkeypass".toCharArray(), newKeystoreAuth.getReadKeyPassword().getValue()));
+ void serializeAndDeserializeKeyStore() {
+ KeyStore keyStore = keyStoreService.createKeyStore(keyStoreAuth, KeyCreationConfig.builder().build());
+ ReadStorePassword password = new ReadStorePassword("storepass");
+
+ byte[] serializedKeyStore = keyStoreService.serialize(keyStore, password);
+ KeyStore deserializedKeyStore = keyStoreService.deserialize(serializedKeyStore, password);
+
+ Assertions.assertEquals(keyStore.getType(), deserializedKeyStore.getType());
+ Assertions.assertEquals(keyStore.getProvider(), deserializedKeyStore.getProvider());
}
+// @Test
+// void updateKeyStoreReadKeyPassword() {
+// KeyCreationConfig config = KeyCreationConfig.builder().signKeyNumber(0).encKeyNumber(1).build();
+// KeyStore keyStore = keyStoreService.createKeyStore(keyStoreAuth, config);
+// KeyStoreAuth newKeystoreAuth = new KeyStoreAuth(new ReadStorePassword("newstorepass"), new ReadKeyPassword("newkeypass".toCharArray()));
+// KeyStore updatedKeyStore = keyStoreService.updateKeyStoreReadKeyPassword(keyStore, keyStoreAuth, newKeystoreAuth);
+//
+//// keyStoreService.
+//// updatedKeyStore.
+// updatedKeyStore.getKey("newkeypass", newKeystoreAuth.getReadKeyPassword().getValue());
+// Assertions.assertTrue(Arrays.equals("newkeypass".toCharArray(), keyStoreAuth.getReadKeyPassword().getValue()));
+// }
@Test
void addPasswordBasedSecretKey() {
KeyStore keyStore = keyStoreService.createKeyStore(keyStoreAuth, KeyCreationConfig.builder().build());
diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-impl/src/main/java/de/adorsys/datasafe/simple/adapter/impl/SimpleDatasafeServiceImpl.java b/datasafe-simple-adapter/datasafe-simple-adapter-impl/src/main/java/de/adorsys/datasafe/simple/adapter/impl/SimpleDatasafeServiceImpl.java
index 17ea24fdd..02f9cb024 100644
--- a/datasafe-simple-adapter/datasafe-simple-adapter-impl/src/main/java/de/adorsys/datasafe/simple/adapter/impl/SimpleDatasafeServiceImpl.java
+++ b/datasafe-simple-adapter/datasafe-simple-adapter-impl/src/main/java/de/adorsys/datasafe/simple/adapter/impl/SimpleDatasafeServiceImpl.java
@@ -7,13 +7,8 @@
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
-import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator;
import com.google.common.base.CharMatcher;
import com.google.common.io.ByteStreams;
-import com.google.common.io.Resources;
import de.adorsys.datasafe.business.impl.service.DefaultDatasafeServices;
import de.adorsys.datasafe.directory.impl.profile.config.DefaultDFSConfig;
import de.adorsys.datasafe.encrypiton.api.types.UserID;
@@ -55,12 +50,9 @@
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
-import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.io.Reader;
import java.net.URI;
-import java.nio.charset.StandardCharsets;
import java.nio.file.FileSystems;
import java.util.List;
import java.util.stream.Collectors;
@@ -70,18 +62,16 @@ public class SimpleDatasafeServiceImpl implements SimpleDatasafeService {
private static final String AMAZON_URL = "https://.*s3.amazonaws.com";
private static final ReadStorePassword universalReadStorePassword = new ReadStorePassword("secret");
private static final String S3_PREFIX = "s3://";
- private static final String yamlFixture = "config/mutable.yaml";
- private static ObjectMapper mapper = createMapper();
- private static MutableEncryptionConfig config = readResource(mapper, yamlFixture, MutableEncryptionConfig.class);
+
private SystemRootAndStorageService rootAndStorage;
private DefaultDatasafeServices customlyBuiltDatasafeServices;
public SimpleDatasafeServiceImpl(PathEncryptionConfig pathEncryptionConfig) {
- this(DFSCredentialsFactory.getFromEnvironmnet(), config, pathEncryptionConfig);
+ this(DFSCredentialsFactory.getFromEnvironmnet(), new MutableEncryptionConfig(), pathEncryptionConfig);
}
public SimpleDatasafeServiceImpl() {
- this(DFSCredentialsFactory.getFromEnvironmnet(), config, new PathEncryptionConfig(true));
+ this(DFSCredentialsFactory.getFromEnvironmnet(), new MutableEncryptionConfig(), new PathEncryptionConfig(true));
}
public SimpleDatasafeServiceImpl(DFSCredentials dfsCredentials, MutableEncryptionConfig config, PathEncryptionConfig pathEncryptionConfig) {
@@ -333,20 +323,6 @@ private static SystemRootAndStorageService useFileSystem(FilesystemDFSCredential
log.info("build DFS to FILESYSTEM with root " + filesystemDFSCredentials.getRoot());
return new SystemRootAndStorageService(systemRoot, storageService);
}
- private static T readResource(ObjectMapper mapper, String path, Class type) {
- try (Reader reader = Resources.asCharSource(Resources.getResource(path), StandardCharsets.UTF_8).openStream()) {
- return mapper.readValue(reader, type);
- }
- catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-
- private static ObjectMapper createMapper() {
- ObjectMapper mapper = new ObjectMapper(new YAMLFactory().enable(YAMLGenerator.Feature.MINIMIZE_QUOTES));
- mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
- return mapper;
- }
@AllArgsConstructor