diff --git a/.gitignore b/.gitignore
index 952176a35e04f577769320759087c1d5756767f0..6baf716956c0195040c147b4d6eea9f59ec43ba8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -225,3 +225,4 @@ build.gradle
gradlew
gradlew.bat
.gradle/
+src/main/resources/db/demo-oxalis-as4-db-changelog.xml
diff --git a/oxalis-api/pom.xml b/oxalis-api/pom.xml
index 5dc6a24b459ca71ef24cf25e6ada411a7eb10730..82121e485ecd675d5f570da30cf60e418d67c8a0 100644
--- a/oxalis-api/pom.xml
+++ b/oxalis-api/pom.xml
@@ -28,7 +28,7 @@
oxalis
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
oxalis-api
diff --git a/oxalis-commons/pom.xml b/oxalis-commons/pom.xml
index bd34fd363053391190afae3520faaf9e247e7118..41a219d2ce654a8da775738cac368197f161b64d 100644
--- a/oxalis-commons/pom.xml
+++ b/oxalis-commons/pom.xml
@@ -27,7 +27,7 @@
dk.erst.oxalis
oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
oxalis-commons
diff --git a/oxalis-commons/src/main/java/network/oxalis/commons/security/CertificateModule.java b/oxalis-commons/src/main/java/network/oxalis/commons/security/CertificateModule.java
index 0cf7db7713aaa5960dbd49cfb18e61634b286973..a0c5f5cf90fb50862779e8c82717771e3a6ed56d 100644
--- a/oxalis-commons/src/main/java/network/oxalis/commons/security/CertificateModule.java
+++ b/oxalis-commons/src/main/java/network/oxalis/commons/security/CertificateModule.java
@@ -61,7 +61,7 @@ public class CertificateModule extends OxalisModule {
Path path = settings.getPath(KeyStoreConf.PATH, confFolder);
try {
- KeyStore keystore = KeyStore.getInstance("JKS");
+ KeyStore keystore = KeyStore.getInstance(settings.getString(KeyStoreConf.TYPE));
if (Files.notExists(path))
throw new OxalisLoadingException(String.format("Unable to find keystore at '%s'.", path));
diff --git a/oxalis-commons/src/main/java/network/oxalis/commons/security/KeyStoreConf.java b/oxalis-commons/src/main/java/network/oxalis/commons/security/KeyStoreConf.java
index dc59eea78cee286a248987149b03587678792ab3..5f4886050100f2ef088920947d57bb35b2b5f583 100644
--- a/oxalis-commons/src/main/java/network/oxalis/commons/security/KeyStoreConf.java
+++ b/oxalis-commons/src/main/java/network/oxalis/commons/security/KeyStoreConf.java
@@ -35,7 +35,7 @@ import network.oxalis.api.settings.Title;
public enum KeyStoreConf {
@Path("oxalis.keystore.path")
- @DefaultValue("oxalis-keystore.jks")
+ @DefaultValue("oxalis-keystore.p12")
PATH,
@Path("oxalis.keystore.password")
@@ -43,6 +43,10 @@ public enum KeyStoreConf {
@Secret
PASSWORD,
+ @Path("oxalis.keystore.type")
+ @DefaultValue("PKCS12")
+ TYPE,
+
@Path("oxalis.keystore.key.alias")
@DefaultValue("ap")
KEY_ALIAS,
diff --git a/oxalis-commons/src/test/java/network/oxalis/commons/security/CertificateModuleTest.java b/oxalis-commons/src/test/java/network/oxalis/commons/security/CertificateModuleTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..a8a5e631000523072b2c5d268c8f7a51408c3485
--- /dev/null
+++ b/oxalis-commons/src/test/java/network/oxalis/commons/security/CertificateModuleTest.java
@@ -0,0 +1,88 @@
+package network.oxalis.commons.security;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.typesafe.config.ConfigFactory;
+import network.oxalis.api.lang.OxalisLoadingException;
+import network.oxalis.api.settings.Path;
+import network.oxalis.commons.config.ConfigModule;
+import network.oxalis.commons.filesystem.FileSystemModule;
+import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.lang.reflect.Field;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.nio.file.Paths;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+import java.security.cert.X509Certificate;
+
+public class CertificateModuleTest {
+
+ private String keystorePathConf;
+ private String keystoreTypeConf;
+ private String keystorePasswordConf;
+
+ @BeforeMethod
+ public void setup() {
+ keystorePathConf = getConfPath(KeyStoreConf.PATH);
+ keystoreTypeConf = getConfPath(KeyStoreConf.TYPE);
+ keystorePasswordConf = getConfPath(KeyStoreConf.PASSWORD);
+ }
+
+ @Test
+ public void testCanConfigureJKSKeystore() throws URISyntaxException {
+ testCanConfigureKeystore("oxalis-selfsigned.jks", "JKS", "changeit");
+ }
+
+ @Test
+ public void testDefaultsToPKCS12KeystoreType() throws URISyntaxException {
+ testCanConfigureKeystore("oxalis-selfsigned.p12", null, "changeit");
+ }
+
+ @Test
+ public void testCanConfigurePKCS12Keystore() throws URISyntaxException {
+ testCanConfigureKeystore("oxalis-selfsigned.p12", "PKCS12", "changeit");
+ }
+
+ private void testCanConfigureKeystore(String keystorePath, String keystoreType, String keystorePassword) throws URISyntaxException {
+ try {
+ URL url = this.getClass().getClassLoader().getResource(keystorePath);
+ Assert.assertNotNull(url);
+
+ System.setProperty(keystorePathConf, Paths.get(url.toURI()).toString());
+ if(keystoreType != null) {
+ System.setProperty(keystoreTypeConf, keystoreType);
+ }
+ System.setProperty(keystorePasswordConf, keystorePassword);
+ // invalidate config caches to force reload
+ ConfigFactory.invalidateCaches();
+
+ Injector injector = Guice.createInjector(new FileSystemModule(), new ConfigModule(), new CertificateModule());
+
+ KeyStore keystore = injector.getInstance(KeyStore.class);
+ Assert.assertNotNull(keystore);
+ Assert.assertEquals(keystore.getType(), keystoreType != null ? keystoreType : "PKCS12");
+
+ Assert.assertNotNull(injector.getInstance(X509Certificate.class));
+ Assert.assertNotNull(injector.getInstance(PrivateKey.class));
+ } finally {
+ System.clearProperty(keystorePathConf);
+ System.clearProperty(keystoreTypeConf);
+ System.clearProperty(keystorePasswordConf);
+ // invalidate config caches to force reload
+ ConfigFactory.invalidateCaches();
+ }
+ }
+
+ private String getConfPath(T key) {
+ try {
+ Field f = key.getClass().getField((key).name());
+ return f.getAnnotation(Path.class).value();
+ } catch (NoSuchFieldException e) {
+ throw new OxalisLoadingException(e.getMessage(), e);
+ }
+ }
+}
diff --git a/oxalis-commons/src/test/resources/oxalis-selfsigned.jks b/oxalis-commons/src/test/resources/oxalis-selfsigned.jks
new file mode 100644
index 0000000000000000000000000000000000000000..368589cdb942467dd7e0c1dbde15713abaa751e6
Binary files /dev/null and b/oxalis-commons/src/test/resources/oxalis-selfsigned.jks differ
diff --git a/oxalis-commons/src/test/resources/oxalis-selfsigned.p12 b/oxalis-commons/src/test/resources/oxalis-selfsigned.p12
new file mode 100644
index 0000000000000000000000000000000000000000..43b9082b29204e0f834bbc2e11a8a6122f690ce7
Binary files /dev/null and b/oxalis-commons/src/test/resources/oxalis-selfsigned.p12 differ
diff --git a/oxalis-dist/oxalis-distribution/pom.xml b/oxalis-dist/oxalis-distribution/pom.xml
index f2b03888ab1f333306e36cd4ea10deb0d533bfb8..ff28aa34b2778c12bcbdca581851e25d77f19751 100644
--- a/oxalis-dist/oxalis-distribution/pom.xml
+++ b/oxalis-dist/oxalis-distribution/pom.xml
@@ -28,7 +28,7 @@
oxalis
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
../../pom.xml
diff --git a/oxalis-dist/oxalis-server/pom.xml b/oxalis-dist/oxalis-server/pom.xml
index 4976c7b1de2cdcf5c236171ac1b86770f8d8775b..f7e26a525563d653f631d27562d8822f29f43a1a 100644
--- a/oxalis-dist/oxalis-server/pom.xml
+++ b/oxalis-dist/oxalis-server/pom.xml
@@ -25,7 +25,7 @@
oxalis
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
../../pom.xml
4.0.0
diff --git a/oxalis-dist/oxalis-standalone/pom.xml b/oxalis-dist/oxalis-standalone/pom.xml
index ad3616858a2b34c1dbf6f0201cdfca655c8dafa1..79b25a4aa150e686800a6ffb1ec1c7994f044d9b 100644
--- a/oxalis-dist/oxalis-standalone/pom.xml
+++ b/oxalis-dist/oxalis-standalone/pom.xml
@@ -27,7 +27,7 @@
dk.erst.oxalis
oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
../../pom.xml
diff --git a/oxalis-dist/oxalis-war/pom.xml b/oxalis-dist/oxalis-war/pom.xml
index 12e92659f9286898c208e7ddbf699a1cbdecc2b4..7c72930155b92f06fac1da2ee51417955cbb59a6 100644
--- a/oxalis-dist/oxalis-war/pom.xml
+++ b/oxalis-dist/oxalis-war/pom.xml
@@ -3,7 +3,7 @@
oxalis
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
../../pom.xml
4.0.0
diff --git a/oxalis-extension/oxalis-extension-example/pom.xml b/oxalis-extension/oxalis-extension-example/pom.xml
index 950c622e37fa764f7460bb0b6210a8357e57bc1c..fba9b149b8cc366afadaaa647eb9be85882a94d8 100644
--- a/oxalis-extension/oxalis-extension-example/pom.xml
+++ b/oxalis-extension/oxalis-extension-example/pom.xml
@@ -25,7 +25,7 @@
oxalis-extension
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
4.0.0
diff --git a/oxalis-extension/oxalis-extension-testbed/pom.xml b/oxalis-extension/oxalis-extension-testbed/pom.xml
index ff43c743dd97fb12bdbd2fd250141a79f0b8c1fb..41c1561d87bc89ed7be74db7ec721c626546b91f 100644
--- a/oxalis-extension/oxalis-extension-testbed/pom.xml
+++ b/oxalis-extension/oxalis-extension-testbed/pom.xml
@@ -3,7 +3,7 @@
oxalis-extension
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
4.0.0
diff --git a/oxalis-extension/pom.xml b/oxalis-extension/pom.xml
index 2384718c9a7f7e3fbc5ce1ad89f7569a5dfa92bf..c0f3845c5e9e4db3b91d5e6917d1eb59418bfdb3 100644
--- a/oxalis-extension/pom.xml
+++ b/oxalis-extension/pom.xml
@@ -25,7 +25,7 @@
oxalis
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
4.0.0
diff --git a/oxalis-inbound/pom.xml b/oxalis-inbound/pom.xml
index c2d5d19b3b394e2978591b103b9d20889d02b639..a88e2c1e317f7717e64b1021c18de884af87f7a0 100644
--- a/oxalis-inbound/pom.xml
+++ b/oxalis-inbound/pom.xml
@@ -27,7 +27,7 @@
dk.erst.oxalis
oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
oxalis-inbound
diff --git a/oxalis-inbound/src/main/java/network/oxalis/inbound/OxalisGuiceContextListener.java b/oxalis-inbound/src/main/java/network/oxalis/inbound/OxalisGuiceContextListener.java
index 76b0ad2af21b5d18ab906e413112dc49e26c4a68..64e3038816f3dba2e1f5e1e776c4b8a30b71bfaf 100644
--- a/oxalis-inbound/src/main/java/network/oxalis/inbound/OxalisGuiceContextListener.java
+++ b/oxalis-inbound/src/main/java/network/oxalis/inbound/OxalisGuiceContextListener.java
@@ -22,10 +22,18 @@
package network.oxalis.inbound;
+import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.servlet.GuiceServletContextListener;
+import com.typesafe.config.Config;
import lombok.extern.slf4j.Slf4j;
+import network.oxalis.commons.config.ConfigModule;
+import network.oxalis.commons.filesystem.FileSystemModule;
import network.oxalis.commons.guice.GuiceModuleLoader;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+
+import java.security.Provider;
+import java.security.Security;
/**
* Wires our object graph together using Google Guice.
@@ -38,9 +46,35 @@ import network.oxalis.commons.guice.GuiceModuleLoader;
@Slf4j
public class OxalisGuiceContextListener extends GuiceServletContextListener {
+ private static final String PREFER_BOUNCYCASTLE_PROVIDER = "oxalis.security.provider.prefer.bouncycastle";
private Injector injector;
public OxalisGuiceContextListener() {
+ // Initial loading of configuration. Added to be able to read configuration property for bouncycastle preference here
+ // If BouncyCastle is to be the preferred Security provider it needs to be initialized as soon as possible.
+ Injector initialInjector = Guice.createInjector(new FileSystemModule(), new ConfigModule());
+ Config config = initialInjector.getInstance(Config.class);
+
+ boolean preferBC = config.hasPath(PREFER_BOUNCYCASTLE_PROVIDER) && config.getBoolean(PREFER_BOUNCYCASTLE_PROVIDER);
+
+ if(preferBC) {
+ final Provider[] providers = Security.getProviders();
+ if (providers != null && providers.length > 0) {
+ if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) != null) {
+ for (int i = 0; i < providers.length; i++) {
+ Provider provider = providers[i];
+ if (BouncyCastleProvider.PROVIDER_NAME.equals(provider.getName())) {
+ log.info("Found BC provider at position {}", i + 1);
+ }
+ }
+ log.info("Found already registered BC provider, removing it to insert at position 1");
+ Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
+ }
+ }
+ Security.insertProviderAt(new BouncyCastleProvider(), 1);
+ log.info("Configured BouncyCastle as the preferred security Provider");
+ }
+
try {
this.injector = GuiceModuleLoader.initiate();
} catch (Exception e) {
diff --git a/oxalis-inbound/src/main/resources/reference.conf b/oxalis-inbound/src/main/resources/reference.conf
index 89ebd547b6b133662bf820ba15f9e260d50ada00..090921830cdaf0f1b929ed9726d7ec7d3dc65700 100644
--- a/oxalis-inbound/src/main/resources/reference.conf
+++ b/oxalis-inbound/src/main/resources/reference.conf
@@ -2,3 +2,5 @@ oxalis.module.inbound.servlet.class = network.oxalis.inbound.InboundModule
# This defaults is necessary as the code in ConfigModule looks for a defaults conf, but since we removed defaults from AS2, we need to add one here, so startup does not fail. From UAN-318 - Fjern AS2 protokollen fra Oxalis AP. AS2 no longer supported -->
defaults.as2NotSupported=networkAS2NoLongerSupportedInOxalis
+
+defaults.oxalis.security.provider.prefer.bouncycastle = true
\ No newline at end of file
diff --git a/oxalis-inbound/src/test/java/network/oxalis/inbound/OxalisGuiceContextListenerTest.java b/oxalis-inbound/src/test/java/network/oxalis/inbound/OxalisGuiceContextListenerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..21b9cea914987fe6cadb3ba63941164f85af8295
--- /dev/null
+++ b/oxalis-inbound/src/test/java/network/oxalis/inbound/OxalisGuiceContextListenerTest.java
@@ -0,0 +1,85 @@
+package network.oxalis.inbound;
+
+import com.google.inject.Injector;
+import com.typesafe.config.ConfigFactory;
+import network.oxalis.test.jetty.AbstractJettyServerTest;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.testng.Assert;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.security.Provider;
+import java.security.Security;
+
+public class OxalisGuiceContextListenerTest {
+
+ @BeforeMethod
+ public void setup() {
+
+ }
+
+ @Test
+ public void testConfiguresBouncyCastleAsPreferredSecurityProviderByDefault() {
+ Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
+ Injector injector = new OxalisGuiceContextListener().getInjector();
+ final Provider[] providers = Security.getProviders();
+ Assert.assertNotNull(providers);
+ Assert.assertTrue(providers.length > 0, "Should have security providers");
+ Assert.assertEquals(providers[0].getName(), BouncyCastleProvider.PROVIDER_NAME);
+ }
+
+ @Test
+ public void testMovesBouncyCastleProviderToFirstSecurityProviderIfAlreadyPresent() {
+ Security.addProvider(new BouncyCastleProvider());
+ Provider[] providers = Security.getProviders();
+ Assert.assertNotNull(providers);
+ Assert.assertTrue(providers.length > 0, "Should have security providers");
+ Assert.assertNotEquals(providers[0].getName(), BouncyCastleProvider.PROVIDER_NAME);
+
+ Injector injector = new OxalisGuiceContextListener().getInjector();
+ providers = Security.getProviders();
+ Assert.assertNotNull(providers);
+ Assert.assertTrue(providers.length > 0, "Should have security providers");
+ Assert.assertEquals(providers[0].getName(), BouncyCastleProvider.PROVIDER_NAME);
+ }
+
+ @Test
+ public void testDoesNotConfigureBouncyCastleAsPreferredSecurityProviderIfDisabledThroughConfiguration() {
+ Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
+ try {
+ // override configuration to disable default bouncy castle preference
+ System.setProperty("oxalis.path.conf", "prefer-jce-provider-conf");
+ // invalidate config caches to force reload
+ ConfigFactory.invalidateCaches();
+
+ Injector injector = new OxalisGuiceContextListener().getInjector();
+ final Provider[] providers = Security.getProviders();
+ Assert.assertNotNull(providers);
+ Assert.assertTrue(providers.length > 0, "Should have security providers");
+ Assert.assertNotEquals(providers[0].getName(), BouncyCastleProvider.PROVIDER_NAME);
+ } finally {
+ System.clearProperty("oxalis.path.conf");
+ ConfigFactory.invalidateCaches();
+ }
+ }
+
+ @Test
+ public void testDoesNotConfigureBouncyCastleAsPreferredSecurityProviderIfDisabledThroughConfigurationSystemProperty() {
+ Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
+ try {
+ System.setProperty("oxalis.security.provider.prefer.bouncycastle", "false");
+ // invalidate config caches to force reload
+ ConfigFactory.invalidateCaches();
+
+ Injector injector = new OxalisGuiceContextListener().getInjector();
+ final Provider[] providers = Security.getProviders();
+ Assert.assertNotNull(providers);
+ Assert.assertTrue(providers.length > 0, "Should have security providers");
+ Assert.assertNotEquals(providers[0].getName(), BouncyCastleProvider.PROVIDER_NAME);
+ } finally {
+ System.clearProperty("oxalis.security.provider.prefer.bouncycastle");
+ ConfigFactory.invalidateCaches();
+ }
+ }
+}
diff --git a/oxalis-inbound/src/test/resources/oxalis_home/prefer-jce-provider-conf/oxalis.conf b/oxalis-inbound/src/test/resources/oxalis_home/prefer-jce-provider-conf/oxalis.conf
new file mode 100644
index 0000000000000000000000000000000000000000..fce8a5633c07ec65cd0889aa55629d5242b768b0
--- /dev/null
+++ b/oxalis-inbound/src/test/resources/oxalis_home/prefer-jce-provider-conf/oxalis.conf
@@ -0,0 +1 @@
+oxalis.security.provider.prefer.bouncycastle = false
\ No newline at end of file
diff --git a/oxalis-legacy/oxalis-document-sniffer/pom.xml b/oxalis-legacy/oxalis-document-sniffer/pom.xml
index 89573ce49deda23e3f4c6a575bc3148f16d52d99..6c7d187d9fc4e66cecb4c05cfc720b9d99c7d059 100644
--- a/oxalis-legacy/oxalis-document-sniffer/pom.xml
+++ b/oxalis-legacy/oxalis-document-sniffer/pom.xml
@@ -25,7 +25,7 @@
oxalis
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
../../pom.xml
4.0.0
diff --git a/oxalis-legacy/oxalis-persistence/pom.xml b/oxalis-legacy/oxalis-persistence/pom.xml
index 733bdafb1f9b223da28faaa92423e57bfe8ba575..bf928ea2846d3068c1a540d82136f31b0e801ad7 100644
--- a/oxalis-legacy/oxalis-persistence/pom.xml
+++ b/oxalis-legacy/oxalis-persistence/pom.xml
@@ -24,7 +24,7 @@
oxalis
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
../../pom.xml
4.0.0
diff --git a/oxalis-legacy/oxalis-statistics/pom.xml b/oxalis-legacy/oxalis-statistics/pom.xml
index 908a2de2aededcc9bfdb4ecffe0070307cabddb3..5813f060667da49a09fe914b10a691c7c6da0c40 100644
--- a/oxalis-legacy/oxalis-statistics/pom.xml
+++ b/oxalis-legacy/oxalis-statistics/pom.xml
@@ -25,7 +25,7 @@
oxalis
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
../../pom.xml
4.0.0
diff --git a/oxalis-outbound/pom.xml b/oxalis-outbound/pom.xml
index 8b9259d564bba01c94e21636ffa8feb00cfa5523..c9bc27fd79e0a5b6bc03e7b13594d353d145b45e 100644
--- a/oxalis-outbound/pom.xml
+++ b/oxalis-outbound/pom.xml
@@ -27,7 +27,7 @@
dk.erst.oxalis
oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
oxalis-outbound
diff --git a/oxalis-test/pom.xml b/oxalis-test/pom.xml
index 5c00e092eda9fa2ce1d089ba034deef80d967c69..a80b5cc30d8416a411528c89673c45a6d4d90d20 100644
--- a/oxalis-test/pom.xml
+++ b/oxalis-test/pom.xml
@@ -24,7 +24,7 @@
oxalis
dk.erst.oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
4.0.0
diff --git a/oxalis-test/src/main/resources/dummy/app_0000000001.p12 b/oxalis-test/src/main/resources/dummy/app_0000000001.p12
new file mode 100644
index 0000000000000000000000000000000000000000..8b430d4d55748a051fd0ed7e58d115fc8fff1d27
Binary files /dev/null and b/oxalis-test/src/main/resources/dummy/app_0000000001.p12 differ
diff --git a/pom.xml b/pom.xml
index b7f5624c8b253eb4b34fbd7682fcad3bfd6c7c8c..863e3e8c29735512a253f06e741f7715f75131c9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
dk.erst.oxalis
oxalis
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
pom
Oxalis :: Parent
@@ -60,7 +60,7 @@
1.8
1.18.24
1.9
- 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584
+ 1.2.0-RC-482e9dc69c402ff235d9a34dba51310428093e10
2.0.6
1.3.5
31.1-jre
@@ -107,12 +107,6 @@
${metainf-services.version}
provided
-
- org.jetbrains
- annotations
- RELEASE
- compile
-