diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..7418aac
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,7 @@
+This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+# Changelog for Common Encryption
+
+## [v2.0.0-SNAPSHOT]
+
+- removed old Providers
diff --git a/changelog.xml b/changelog.xml
deleted file mode 100644
index fc5b326..0000000
--- a/changelog.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- Fixed distro files and pom according to new release procedure
-
-
- Fixed pom according to new release procedure
-
-
- SymmetricKey is now a public class
- Fixed StringEncrypted decrypt/encrypt signatures. Deprecated olds ones
- Added the facility to store a key in a file in KeySerialization class
- SymmetricKey is now a public class
- Made public the fuctions used to crreates keys in KeyFactory class
-
-
- Compliancy with the new Maven-based release procedure
-
-
- First Release
-
-
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 126b37c..2ac472f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
org.gcube.core
common-encryption
- 1.2.1
+ 2.0.0-SNAPSHOT
Common Encryption Library
Common Encryption Library is collection of encryption utilities
@@ -29,7 +29,7 @@
org.gcube.distribution
gcube-bom
- 1.4.0
+ 3.0.0-SNAPSHOT
pom
import
@@ -37,6 +37,10 @@
+
+ org.gcube.common
+ common-security
+
org.gcube.core
common-scope
@@ -54,7 +58,7 @@
test
-
+
diff --git a/src/main/java/org/gcube/common/encryption/SymmetricKey.java b/src/main/java/org/gcube/common/encryption/SymmetricKey.java
index d7cde0d..bcc5395 100644
--- a/src/main/java/org/gcube/common/encryption/SymmetricKey.java
+++ b/src/main/java/org/gcube/common/encryption/SymmetricKey.java
@@ -13,9 +13,10 @@ import java.util.Map;
import javax.crypto.spec.SecretKeySpec;
-import org.gcube.common.scope.api.ScopeProvider;
-import org.gcube.common.scope.impl.ScopeBean;
-import org.gcube.common.scope.impl.ScopeBean.Type;
+import org.gcube.common.security.ContextBean;
+import org.gcube.common.security.ContextBean.Type;
+import org.gcube.common.security.providers.SecretManagerProvider;
+import org.gcube.common.security.secrets.Secret;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,9 +43,11 @@ public final class SymmetricKey {
* @throws InvalidKeyException if the key is not available or is invalid
*/
public synchronized static Key getKey() throws InvalidKeyException {
- if(!keyContextMap.containsKey(ScopeProvider.instance.get()))
- load(ScopeProvider.instance.get());
- return keyContextMap.get(ScopeProvider.instance.get());
+ Secret secret = SecretManagerProvider.instance.get();
+ String context = secret.getContext();
+ if(!keyContextMap.containsKey(context))
+ load(context);
+ return keyContextMap.get(context);
}
public static Key loadKeyFromFile(File keyFile, String keyAlgorithm) throws InvalidKeyException {
@@ -97,7 +100,7 @@ public final class SymmetricKey {
protected static String getKeyFileName(String context) throws InvalidKeyException {
String keyFile = null;
if(context != null) {
- ScopeBean bean = new ScopeBean(context);
+ ContextBean bean = new ContextBean(context);
if(bean.is(Type.VRE))
bean = bean.enclosingScope();
String name = bean.name();
diff --git a/src/test/java/org/gcube/common/encryption/LocalKeyTest.java b/src/test/java/org/gcube/common/encryption/LocalKeyTest.java
index 2179c73..a87c929 100644
--- a/src/test/java/org/gcube/common/encryption/LocalKeyTest.java
+++ b/src/test/java/org/gcube/common/encryption/LocalKeyTest.java
@@ -2,7 +2,7 @@ package org.gcube.common.encryption;
import java.security.InvalidKeyException;
-import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.common.security.providers.SecretManagerProvider;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -10,12 +10,13 @@ public class LocalKeyTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
- ScopeProvider.instance.set("/gcube/devsec");
+ SecretManagerProvider.instance.set(new TestSecret("/gcube/devsec"));
+
}
@Test
public void test() throws InvalidKeyException {
- String key=SymmetricKey.getKeyFileName(ScopeProvider.instance.get());
+ String key=SymmetricKey.getKeyFileName(SecretManagerProvider.instance.get().getContext());
System.out.println("file key found: "+key);
}
diff --git a/src/test/java/org/gcube/common/encryption/StringEncrypterTest.java b/src/test/java/org/gcube/common/encryption/StringEncrypterTest.java
index 9deb27b..98d8127 100644
--- a/src/test/java/org/gcube/common/encryption/StringEncrypterTest.java
+++ b/src/test/java/org/gcube/common/encryption/StringEncrypterTest.java
@@ -1,10 +1,8 @@
package org.gcube.common.encryption;
-import static org.junit.Assert.*;
+import static org.junit.Assert.fail;
-import org.gcube.common.encryption.StringEncrypter;
-import org.gcube.common.encryption.SymmetricKey;
-import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.common.security.providers.SecretManagerProvider;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -20,7 +18,7 @@ public class StringEncrypterTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
- ScopeProvider.instance.set("/gcube/devsec");
+ SecretManagerProvider.instance.set(new TestSecret("/gcube/devsec"));
key = SymmetricKey.getKey();
}
diff --git a/src/test/java/org/gcube/common/encryption/SymmetricKeyTest.java b/src/test/java/org/gcube/common/encryption/SymmetricKeyTest.java
index c5db7c0..3a9cace 100644
--- a/src/test/java/org/gcube/common/encryption/SymmetricKeyTest.java
+++ b/src/test/java/org/gcube/common/encryption/SymmetricKeyTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.fail;
import java.security.InvalidKeyException;
import java.security.Key;
-import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.common.security.providers.SecretManagerProvider;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -17,7 +17,7 @@ public class SymmetricKeyTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
- ScopeProvider.instance.set("/gcube/devsec");
+ SecretManagerProvider.instance.set(new TestSecret("/gcube/devsec"));
}
@AfterClass
diff --git a/src/test/java/org/gcube/common/encryption/TestSecret.java b/src/test/java/org/gcube/common/encryption/TestSecret.java
new file mode 100644
index 0000000..f4c092c
--- /dev/null
+++ b/src/test/java/org/gcube/common/encryption/TestSecret.java
@@ -0,0 +1,46 @@
+package org.gcube.common.encryption;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.gcube.common.security.Owner;
+import org.gcube.common.security.secrets.Secret;
+
+public class TestSecret extends Secret {
+
+ private String context;
+
+ public TestSecret(String context){
+ this.context = context;
+ }
+
+
+
+ @Override
+ public Owner getOwner() {
+ return null;
+ }
+
+ @Override
+ public String getContext() {
+ return this.context;
+ }
+
+ @Override
+ public Map getHTTPAuthorizationHeaders() {
+ return Collections.emptyMap();
+ }
+
+ @Override
+ public boolean isExpired() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean isRefreshable() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+}
diff --git a/src/test/java/org/gcube/common/encryption/encrypter/StringEncrypterTest.java b/src/test/java/org/gcube/common/encryption/encrypter/StringEncrypterTest.java
index ae96f04..91300e9 100644
--- a/src/test/java/org/gcube/common/encryption/encrypter/StringEncrypterTest.java
+++ b/src/test/java/org/gcube/common/encryption/encrypter/StringEncrypterTest.java
@@ -3,7 +3,8 @@ package org.gcube.common.encryption.encrypter;
import static org.junit.Assert.fail;
import org.gcube.common.encryption.SymmetricKey;
-import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.common.encryption.TestSecret;
+import org.gcube.common.security.providers.SecretManagerProvider;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -17,7 +18,7 @@ public class StringEncrypterTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
- ScopeProvider.instance.set("/gcube/devsec");
+ SecretManagerProvider.instance.set(new TestSecret("/gcube/devsec"));
key = SymmetricKey.getKey();
}