From 36055489f0f320ad3492f83fd590f339ffb449b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asger=20Geel=20Weirs=C3=B8e?= Date: Mon, 22 Jan 2024 09:36:24 +0100 Subject: [PATCH 1/2] AP-v1.1.1 --- .gitignore | 1 + mvnw | 0 mvnw.cmd | 374 +++++++++--------- oxalis-api/pom.xml | 2 +- oxalis-commons/pom.xml | 2 +- oxalis-dist/oxalis-distribution/pom.xml | 2 +- oxalis-dist/oxalis-server/pom.xml | 2 +- oxalis-dist/oxalis-standalone/example.sh | 0 oxalis-dist/oxalis-standalone/pom.xml | 2 +- oxalis-dist/oxalis-war/pom.xml | 2 +- .../resources/as2-message/oxalis-sha512.txt | 82 ++-- .../oxalis-extension-example/pom.xml | 2 +- .../oxalis-extension-testbed/pom.xml | 2 +- oxalis-extension/pom.xml | 2 +- oxalis-inbound/pom.xml | 2 +- oxalis-legacy/oxalis-document-sniffer/pom.xml | 2 +- oxalis-legacy/oxalis-persistence/pom.xml | 2 +- oxalis-legacy/oxalis-statistics/pom.xml | 2 +- oxalis-outbound/pom.xml | 2 +- .../DespatchAdvice/1.0/Eksempel1.xml | 0 .../DespatchAdvice/1.0/Eksempel2.xml | 0 .../DespatchAdvice/1.0/Eksempel3.xml | 0 .../DespatchAdvice/1.0/Eksempel4.xml | 0 .../DespatchAdvice/1.0/Eksempel5.xml | 0 .../Example file EHF Catalogue Response.xml | 0 .../1.0/Example file EHF Catalogue.xml | 0 .../EHFOrder/1.0/Eksempelfil EHF Ordre.xml | 0 .../1.0/Eksempelfil EHF Ordrebekreftelse.xml | 0 .../MessageLevelResponse/1.0/Use Case1.xml | 0 .../MessageLevelResponse/1.0/Use Case2.xml | 0 .../MessageLevelResponse/1.0/Use Case3.xml | 0 oxalis-test/pom.xml | 2 +- pom.xml | 4 +- 33 files changed, 246 insertions(+), 245 deletions(-) mode change 100644 => 100755 mvnw mode change 100644 => 100755 oxalis-dist/oxalis-standalone/example.sh mode change 100644 => 100755 oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel1.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel2.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel3.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel4.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel5.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/EHFCatalogue/1.0/Example file EHF Catalogue Response.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/EHFCatalogue/1.0/Example file EHF Catalogue.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/EHFOrder/1.0/Eksempelfil EHF Ordre.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/EHFOrder/1.0/Eksempelfil EHF Ordrebekreftelse.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/MessageLevelResponse/1.0/Use Case1.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/MessageLevelResponse/1.0/Use Case2.xml mode change 100644 => 100755 oxalis-outbound/src/test/resources/MessageLevelResponse/1.0/Use Case3.xml diff --git a/.gitignore b/.gitignore index 952176a..6baf716 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/mvnw b/mvnw old mode 100644 new mode 100755 diff --git a/mvnw.cmd b/mvnw.cmd index 474c9d6..cba1f04 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -1,187 +1,187 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.1.1 -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* -if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar" - -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %WRAPPER_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% ^ - %JVM_CONFIG_MAVEN_PROPS% ^ - %MAVEN_OPTS% ^ - %MAVEN_DEBUG_OPTS% ^ - -classpath %WRAPPER_JAR% ^ - "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ - %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" -if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%"=="on" pause - -if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% - -cmd /C exit /B %ERROR_CODE% +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.1.1 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/oxalis-api/pom.xml b/oxalis-api/pom.xml index a213d13..5dc6a24 100644 --- a/oxalis-api/pom.xml +++ b/oxalis-api/pom.xml @@ -28,7 +28,7 @@ oxalis dk.erst.oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 oxalis-api diff --git a/oxalis-commons/pom.xml b/oxalis-commons/pom.xml index 8edc5db..bd34fd3 100644 --- a/oxalis-commons/pom.xml +++ b/oxalis-commons/pom.xml @@ -27,7 +27,7 @@ dk.erst.oxalis oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 oxalis-commons diff --git a/oxalis-dist/oxalis-distribution/pom.xml b/oxalis-dist/oxalis-distribution/pom.xml index e295a8c..f2b0388 100644 --- a/oxalis-dist/oxalis-distribution/pom.xml +++ b/oxalis-dist/oxalis-distribution/pom.xml @@ -28,7 +28,7 @@ oxalis dk.erst.oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 ../../pom.xml diff --git a/oxalis-dist/oxalis-server/pom.xml b/oxalis-dist/oxalis-server/pom.xml index 84ce202..4976c7b 100644 --- a/oxalis-dist/oxalis-server/pom.xml +++ b/oxalis-dist/oxalis-server/pom.xml @@ -25,7 +25,7 @@ oxalis dk.erst.oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 ../../pom.xml 4.0.0 diff --git a/oxalis-dist/oxalis-standalone/example.sh b/oxalis-dist/oxalis-standalone/example.sh old mode 100644 new mode 100755 diff --git a/oxalis-dist/oxalis-standalone/pom.xml b/oxalis-dist/oxalis-standalone/pom.xml index 8b5f2c3..ad36168 100644 --- a/oxalis-dist/oxalis-standalone/pom.xml +++ b/oxalis-dist/oxalis-standalone/pom.xml @@ -27,7 +27,7 @@ dk.erst.oxalis oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 ../../pom.xml diff --git a/oxalis-dist/oxalis-war/pom.xml b/oxalis-dist/oxalis-war/pom.xml index 13707d3..12e9265 100644 --- a/oxalis-dist/oxalis-war/pom.xml +++ b/oxalis-dist/oxalis-war/pom.xml @@ -3,7 +3,7 @@ oxalis dk.erst.oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 ../../pom.xml 4.0.0 diff --git a/oxalis-extension/oxalis-as2/src/test/resources/as2-message/oxalis-sha512.txt b/oxalis-extension/oxalis-as2/src/test/resources/as2-message/oxalis-sha512.txt index 7a48520..28b8826 100644 --- a/oxalis-extension/oxalis-as2/src/test/resources/as2-message/oxalis-sha512.txt +++ b/oxalis-extension/oxalis-as2/src/test/resources/as2-message/oxalis-sha512.txt @@ -1,12 +1,12 @@ -Message-ID: <726416425.9.1543118743284.JavaMail.erlend@lappy> -MIME-Version: 1.0 -Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; - boundary="----=_Part_8_670951536.1543118743283" - -------=_Part_8_670951536.1543118743283 -Content-Type: application/xml -Content-Transfer-Encoding: binary - +Message-ID: <726416425.9.1543118743284.JavaMail.erlend@lappy> +MIME-Version: 1.0 +Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; + boundary="----=_Part_8_670951536.1543118743283" + +------=_Part_8_670951536.1543118743283 +Content-Type: application/xml +Content-Transfer-Encoding: binary + @@ -163,35 +163,35 @@ Content-Transfer-Encoding: binary - -------=_Part_8_670951536.1543118743283 -Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime.p7s" -Content-Description: S/MIME Cryptographic Signature - -MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCAMIIC -6zCCAdOgAwIBAgIEWIjwZjANBgkqhkiG9w0BAQsFADAtMQswCQYDVQQGEwJOTzEeMBwGA1UEAwwV -RHVtbXkgQUNDRVNTIFBPSU5UIENBMB4XDTE3MDEyNTE4MzczNFoXDTIyMDEyNTE4MzczNFowQjEL -MAkGA1UEBhMCTk8xGjAYBgNVBAoMEU94YWxpcyBUZXN0aW5nIDAxMRcwFQYDVQQDDA5BUFBfMDAw -MDAwMDAwMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALGmTwqNCGUiiUORIopi+tBz -eV4wmgwQoHv6nzOMCOcSwGoOFCYttqTygWHKvoT3fG/YJ/fBxYKzJBX3GVCb43qTA7ebym7yC0lG -K/664grjoNhlJ3JHX7AJIi4RAV4597uSHCYSeRULtG6ylrVM//bBtjxWGhw9e2yhNUTjQZZDoETq -Dw6z3E1eT3n3z9ea2Jk4ev9L3NhB8+rRaN349eRW5DIuMR/PLjHrw9XV4wrsK2ULdVvN0KWuUPUE -S+Va0wgM9yRViwwLJ3+ei2JTwCYU0FT73vts+rFeTQ4Aq/X3aVEGsbexS7dy+cibFRYw/ZvWPJwr -G51SD/xwmQ94+WkCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAqqDJdmR/KSgUWX1VeOhBGD2D40RV -nj0bYAAQtkQOaz9ieZQ76Fnfj9OLcvv8EXFhVPbTDL+vIvZ4q01kRNeMeWttebFDcCIUZUu0wPt9 -s0qnUf76yqKQJwzYHXkp6Y0rBGr/rwHkpLpBT5+VvC9nyRN1DeVZ33qVTcM9n2ICbbgJnSnEJwum -ACY/2f1fXJsWkdGFYtEcs5ZQZ44N6VJAslKIZSLOpi248ldKjXR3hOyZh0TSXmZ/QoKfqAv1k8gm -AW3gpyhqqvOVOrUbNkMMb+/hQyWNnxLQK5oV07UJtwYTxjFgpreVJImRpeX5PRjREonTC9dJUNsX -95472MSAHwAAMYICGzCCAhcCAQEwNTAtMQswCQYDVQQGEwJOTzEeMBwGA1UEAwwVRHVtbXkgQUND -RVNTIFBPSU5UIENBAgRYiPBmMA0GCWCGSAFlAwQCAwUAoIG4MBgGCSqGSIb3DQEJAzELBgkqhkiG -9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE4MTEyNTA0MDU0M1owLQYJKoZIhvcNAQk0MSAwHjANBglg -hkgBZQMEAgMFAKENBgkqhkiG9w0BAQ0FADBPBgkqhkiG9w0BCQQxQgRA0MJCePem0dJ+vKvFjRIX -mnIK2vFWgP6XBV1PhzF0DnuYF9Bgj2dic/W8A6Vt1Bz2IPhsZvj0No3Bto2WCBEItzANBgkqhkiG -9w0BAQ0FAASCAQBMZIjNNTG1fYLs7NZSUmq6n4VromxcJowdHzgEDax8iw/PboBs5NAzoez33Baa -5HZ/C0cDJTBxdLo1EIbZ9U5vum76WkEp+isnpUZzRb/VFLPUw4b6lQwDpFkP72Ea8KnK3O++Zvrf -FAdaF9k2tsAFm/XH1OHmjdpcYL2MoRnYuepMDWGgHe8S+6Joa1q3dw6NWjdmxC/T5ElcxYkJfIVh -DMaFwDWrbgYM7FSFX+/3UwPS9pDdlQ7j2RFLhidykO2I44ixnj5I8nK6tRNYo4Bcxqf/XyZC9OeU -xVc6X8jjBwRmlvc/f+wjaDa5FtfDCkGf1XsJ3LWXNIpuDUdDnpnoAAAAAAAA -------=_Part_8_670951536.1543118743283-- + +------=_Part_8_670951536.1543118743283 +Content-Type: application/pkcs7-signature; name=smime.p7s; smime-type=signed-data +Content-Transfer-Encoding: base64 +Content-Disposition: attachment; filename="smime.p7s" +Content-Description: S/MIME Cryptographic Signature + +MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCAMIIC +6zCCAdOgAwIBAgIEWIjwZjANBgkqhkiG9w0BAQsFADAtMQswCQYDVQQGEwJOTzEeMBwGA1UEAwwV +RHVtbXkgQUNDRVNTIFBPSU5UIENBMB4XDTE3MDEyNTE4MzczNFoXDTIyMDEyNTE4MzczNFowQjEL +MAkGA1UEBhMCTk8xGjAYBgNVBAoMEU94YWxpcyBUZXN0aW5nIDAxMRcwFQYDVQQDDA5BUFBfMDAw +MDAwMDAwMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALGmTwqNCGUiiUORIopi+tBz +eV4wmgwQoHv6nzOMCOcSwGoOFCYttqTygWHKvoT3fG/YJ/fBxYKzJBX3GVCb43qTA7ebym7yC0lG +K/664grjoNhlJ3JHX7AJIi4RAV4597uSHCYSeRULtG6ylrVM//bBtjxWGhw9e2yhNUTjQZZDoETq +Dw6z3E1eT3n3z9ea2Jk4ev9L3NhB8+rRaN349eRW5DIuMR/PLjHrw9XV4wrsK2ULdVvN0KWuUPUE +S+Va0wgM9yRViwwLJ3+ei2JTwCYU0FT73vts+rFeTQ4Aq/X3aVEGsbexS7dy+cibFRYw/ZvWPJwr +G51SD/xwmQ94+WkCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAqqDJdmR/KSgUWX1VeOhBGD2D40RV +nj0bYAAQtkQOaz9ieZQ76Fnfj9OLcvv8EXFhVPbTDL+vIvZ4q01kRNeMeWttebFDcCIUZUu0wPt9 +s0qnUf76yqKQJwzYHXkp6Y0rBGr/rwHkpLpBT5+VvC9nyRN1DeVZ33qVTcM9n2ICbbgJnSnEJwum +ACY/2f1fXJsWkdGFYtEcs5ZQZ44N6VJAslKIZSLOpi248ldKjXR3hOyZh0TSXmZ/QoKfqAv1k8gm +AW3gpyhqqvOVOrUbNkMMb+/hQyWNnxLQK5oV07UJtwYTxjFgpreVJImRpeX5PRjREonTC9dJUNsX +95472MSAHwAAMYICGzCCAhcCAQEwNTAtMQswCQYDVQQGEwJOTzEeMBwGA1UEAwwVRHVtbXkgQUND +RVNTIFBPSU5UIENBAgRYiPBmMA0GCWCGSAFlAwQCAwUAoIG4MBgGCSqGSIb3DQEJAzELBgkqhkiG +9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE4MTEyNTA0MDU0M1owLQYJKoZIhvcNAQk0MSAwHjANBglg +hkgBZQMEAgMFAKENBgkqhkiG9w0BAQ0FADBPBgkqhkiG9w0BCQQxQgRA0MJCePem0dJ+vKvFjRIX +mnIK2vFWgP6XBV1PhzF0DnuYF9Bgj2dic/W8A6Vt1Bz2IPhsZvj0No3Bto2WCBEItzANBgkqhkiG +9w0BAQ0FAASCAQBMZIjNNTG1fYLs7NZSUmq6n4VromxcJowdHzgEDax8iw/PboBs5NAzoez33Baa +5HZ/C0cDJTBxdLo1EIbZ9U5vum76WkEp+isnpUZzRb/VFLPUw4b6lQwDpFkP72Ea8KnK3O++Zvrf +FAdaF9k2tsAFm/XH1OHmjdpcYL2MoRnYuepMDWGgHe8S+6Joa1q3dw6NWjdmxC/T5ElcxYkJfIVh +DMaFwDWrbgYM7FSFX+/3UwPS9pDdlQ7j2RFLhidykO2I44ixnj5I8nK6tRNYo4Bcxqf/XyZC9OeU +xVc6X8jjBwRmlvc/f+wjaDa5FtfDCkGf1XsJ3LWXNIpuDUdDnpnoAAAAAAAA +------=_Part_8_670951536.1543118743283-- diff --git a/oxalis-extension/oxalis-extension-example/pom.xml b/oxalis-extension/oxalis-extension-example/pom.xml index 40dedef..950c622 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.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 4.0.0 diff --git a/oxalis-extension/oxalis-extension-testbed/pom.xml b/oxalis-extension/oxalis-extension-testbed/pom.xml index d3dfba7..ff43c74 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.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 4.0.0 diff --git a/oxalis-extension/pom.xml b/oxalis-extension/pom.xml index 151f02e..2384718 100644 --- a/oxalis-extension/pom.xml +++ b/oxalis-extension/pom.xml @@ -25,7 +25,7 @@ oxalis dk.erst.oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 4.0.0 diff --git a/oxalis-inbound/pom.xml b/oxalis-inbound/pom.xml index a7e3efe..c2d5d19 100644 --- a/oxalis-inbound/pom.xml +++ b/oxalis-inbound/pom.xml @@ -27,7 +27,7 @@ dk.erst.oxalis oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 oxalis-inbound diff --git a/oxalis-legacy/oxalis-document-sniffer/pom.xml b/oxalis-legacy/oxalis-document-sniffer/pom.xml index dfcb981..89573ce 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.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 ../../pom.xml 4.0.0 diff --git a/oxalis-legacy/oxalis-persistence/pom.xml b/oxalis-legacy/oxalis-persistence/pom.xml index 9d3529c..733bdaf 100644 --- a/oxalis-legacy/oxalis-persistence/pom.xml +++ b/oxalis-legacy/oxalis-persistence/pom.xml @@ -24,7 +24,7 @@ oxalis dk.erst.oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 ../../pom.xml 4.0.0 diff --git a/oxalis-legacy/oxalis-statistics/pom.xml b/oxalis-legacy/oxalis-statistics/pom.xml index 7fd6d24..908a2de 100644 --- a/oxalis-legacy/oxalis-statistics/pom.xml +++ b/oxalis-legacy/oxalis-statistics/pom.xml @@ -25,7 +25,7 @@ oxalis dk.erst.oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 ../../pom.xml 4.0.0 diff --git a/oxalis-outbound/pom.xml b/oxalis-outbound/pom.xml index 069c834..8b9259d 100644 --- a/oxalis-outbound/pom.xml +++ b/oxalis-outbound/pom.xml @@ -27,7 +27,7 @@ dk.erst.oxalis oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 oxalis-outbound diff --git a/oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel1.xml b/oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel1.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel2.xml b/oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel2.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel3.xml b/oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel3.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel4.xml b/oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel4.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel5.xml b/oxalis-outbound/src/test/resources/DespatchAdvice/1.0/Eksempel5.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/EHFCatalogue/1.0/Example file EHF Catalogue Response.xml b/oxalis-outbound/src/test/resources/EHFCatalogue/1.0/Example file EHF Catalogue Response.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/EHFCatalogue/1.0/Example file EHF Catalogue.xml b/oxalis-outbound/src/test/resources/EHFCatalogue/1.0/Example file EHF Catalogue.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/EHFOrder/1.0/Eksempelfil EHF Ordre.xml b/oxalis-outbound/src/test/resources/EHFOrder/1.0/Eksempelfil EHF Ordre.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/EHFOrder/1.0/Eksempelfil EHF Ordrebekreftelse.xml b/oxalis-outbound/src/test/resources/EHFOrder/1.0/Eksempelfil EHF Ordrebekreftelse.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/MessageLevelResponse/1.0/Use Case1.xml b/oxalis-outbound/src/test/resources/MessageLevelResponse/1.0/Use Case1.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/MessageLevelResponse/1.0/Use Case2.xml b/oxalis-outbound/src/test/resources/MessageLevelResponse/1.0/Use Case2.xml old mode 100644 new mode 100755 diff --git a/oxalis-outbound/src/test/resources/MessageLevelResponse/1.0/Use Case3.xml b/oxalis-outbound/src/test/resources/MessageLevelResponse/1.0/Use Case3.xml old mode 100644 new mode 100755 diff --git a/oxalis-test/pom.xml b/oxalis-test/pom.xml index 00345ea..5c00e09 100644 --- a/oxalis-test/pom.xml +++ b/oxalis-test/pom.xml @@ -24,7 +24,7 @@ oxalis dk.erst.oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 4.0.0 diff --git a/pom.xml b/pom.xml index cf7022e..b7f5624 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ dk.erst.oxalis oxalis - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 pom Oxalis :: Parent @@ -60,7 +60,7 @@ 1.8 1.18.24 1.9 - 1.0.0-9ee54a32bac5bdabe2a86339ebbfdadeb3d5e19f + 1.1.1-cdcd75c57f1c18846d6950469e8f4fb53b3b8584 2.0.6 1.3.5 31.1-jre -- GitLab From fa6b7603ddd6e6090d51336ae2ba251fbe7ce061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asger=20Geel=20Weirs=C3=B8e?= Date: Mon, 22 Jan 2024 10:14:22 +0100 Subject: [PATCH 2/2] AP-v1.2-RC --- oxalis-api/pom.xml | 2 +- oxalis-commons/pom.xml | 2 +- .../commons/security/CertificateModule.java | 2 +- .../oxalis/commons/security/KeyStoreConf.java | 6 +- .../security/CertificateModuleTest.java | 88 ++++++++++++++++++ .../src/test/resources/oxalis-selfsigned.jks | Bin 0 -> 2736 bytes .../src/test/resources/oxalis-selfsigned.p12 | Bin 0 -> 2736 bytes oxalis-dist/oxalis-distribution/pom.xml | 2 +- oxalis-dist/oxalis-server/pom.xml | 2 +- oxalis-dist/oxalis-standalone/pom.xml | 2 +- oxalis-dist/oxalis-war/pom.xml | 2 +- .../oxalis-extension-example/pom.xml | 2 +- .../oxalis-extension-testbed/pom.xml | 2 +- oxalis-extension/pom.xml | 2 +- oxalis-inbound/pom.xml | 2 +- .../inbound/OxalisGuiceContextListener.java | 34 +++++++ .../src/main/resources/reference.conf | 2 + .../OxalisGuiceContextListenerTest.java | 85 +++++++++++++++++ .../prefer-jce-provider-conf/oxalis.conf | 1 + oxalis-legacy/oxalis-document-sniffer/pom.xml | 2 +- oxalis-legacy/oxalis-persistence/pom.xml | 2 +- oxalis-legacy/oxalis-statistics/pom.xml | 2 +- oxalis-outbound/pom.xml | 2 +- oxalis-test/pom.xml | 2 +- .../main/resources/dummy/app_0000000001.p12 | Bin 0 -> 4240 bytes pom.xml | 10 +- 26 files changed, 233 insertions(+), 25 deletions(-) create mode 100644 oxalis-commons/src/test/java/network/oxalis/commons/security/CertificateModuleTest.java create mode 100644 oxalis-commons/src/test/resources/oxalis-selfsigned.jks create mode 100644 oxalis-commons/src/test/resources/oxalis-selfsigned.p12 create mode 100644 oxalis-inbound/src/test/java/network/oxalis/inbound/OxalisGuiceContextListenerTest.java create mode 100644 oxalis-inbound/src/test/resources/oxalis_home/prefer-jce-provider-conf/oxalis.conf create mode 100644 oxalis-test/src/main/resources/dummy/app_0000000001.p12 diff --git a/oxalis-api/pom.xml b/oxalis-api/pom.xml index 5dc6a24..82121e4 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 bd34fd3..41a219d 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 0cf7db7..a0c5f5c 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 dc59eea..5f48860 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 0000000..a8a5e63 --- /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 GIT binary patch literal 2736 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 M>)wq;{VRh03HRFOi~s-t literal 0 HcmV?d00001 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 GIT binary patch literal 2736 zcma);S5y-U5{8qIMrZ;_DALg@MIk@{Dbl-0kxnjMiY!HXKxvVVluOr$BoYv%2r3<< zi!?!cFer%9q<4_A?%6%wvroGZbLPzV&p(g<84LkY1_IJy2nb6ky;z)H+&&W!1|$&> zx?loA^A}dd5Fo|>B|&n*1W4vDoc61dp$z|VF(QB<5&@$23o2vWemfvc7#qyhzeh%l zI2eiK&^Ynf&3@d#MVsj%?=$}_%ZUJiE}a7b1u%?I_`ffL=pg_MFO=RfP7mlx2L_6P z&(Rfne%wCPOD)?*({{-b(O?322qH`DuEIV08Wj_uG8sgRD=$kvkk#)k?As#v+1ib7 zdziGU_w1b9WRGbr*Otw58gv9u&l>`S*k#668;89Pk#|dW5a2gPsrs$^_TjVR41ys$kSm5Q2Bc#ohpyw2)E>g++tFtV%N zd+$tLGD~s8zPwydy+jF$VfETnFqBnL)l+*@W~AHqq=wLkcHz^wub{g8V|qvve^>aW z(y?Qf|2X{7DwKZ7ysg+)Pij0@_XKoi&u!KB8rOliyZtsyYeIiOr}+v%T4)=}IL>yZ zu*X%9ugZaP$7jVR^{hmT1CIZ8{^j;}a|qV>v)qk(B8MP-FcI02@Vh07CGQ>+#X zch=c^VqP|0(6F&$6o^Cj!5V_T7O?Y;74;)!1kb*85vS1tzU;|XAvK>anoL(a8Enj& zexw6T!kiVn`DXavH76c~nht81$G!}vjjm6|(uiF7@kM=TUHdaIrG>7rh4lKaNaUBH z)2ZFe{qM-6{EF8U$#BVQ`wWS+=S~`**BhH^H2D162TP=#7roLltp<-4ikv#0zl6T6 zJk9aWd{p-^-mcyGz;{+&NuNUcVn-BWl!l`uy9TU^r5AD;Sb+0PbK#*Hq|5PJUnM9@ z^rgZ}y_=fv0bl0<{cLhGxskVG^j8{c&_2@VpsS-Z@9Vv`qqtVoHkf0{OmvtevL>au z{IrFm`r_QVi89K*qtfSv;l|8KRIPf!h{KP8sU2EmUwP7@7r{G6Wp~v^&i*%%%R2*E@H9L*9L(_WGe5OdXm9B6`rf>eykch6XAslh!eLXV$Yz(nu zxjrjf403wrHxW=lOlWMn-B&c7`a>r_Rop(~XP7^=?L^jSO7%|$e&T(9cX_iNuym_B z_m?d{>yui!GL!u-g;w5uOCDYWoOJ?SsAp(~$*T*Ld+)nI&Z0^hKeK+CWJ`0_oha#i z7GPy>4}h^hXm0L>W7q4*t)JaI#iE^8x}A9-oC76~$$LiDrhNFovYd)zOD+-85uh*O zjji-w=2_0gjKf$}(W&zOv%gr-_FC!%*g&~0d`n?2$ zk_ceJFBAa+0)DlSzZKyBif67zw{jr-OXASz<fG}@kAv`w8jnXBP;A=gJ=#Bj*)-lEDrdy({dDotF)}WiIq|J>~rJy>YpJaz)D0_ za*Xug!n}duBOW=ST`apLG4i-yrDou=*CBrA8F(Z9CO6MWzFSoNvPJ*P5?BBzI|%iZ zcPstvDZ*D7q1kw5=oemWn&WKU2F%mEPUU&4t=PW)UC+M?o_>T{M`F31QEDvpq9w`c z>Sl7;e2tz(JLizLiXW@#vBnz6X0uSv9(8t8E|qGHXu0`^V~&{ukoh|4)tVQ2G{E_w zEUBg?|1VK%g8g?RGU3ylj+xbJC#N+swGG8jp6jM$m?`$i2eMSvm&SegNAw{cw}x9> zO2&Bv*7>8K8z)dMvOLs|nWqNVpeUZ!yaD>y(j#`pocwqO`mG9GL-$K5xDm>8|FUaslGDfyPz*vwDA zaJuk~z%`H{BJSRKjZXRGM%0S9h3vM3`B3o(cg8tKW{LX@k2oyL=K$z5KQN|z#$vsv z>_rxp{*OG);Gum9SJAj=cSn7z9B*ZzjiTevZ$vsem6lmL!=vCwF8pG3iB47ML;KEL z;|FXb`7XB~3m@~irp7sb=inO&9}1n+E@ow$H@+454G|tWzEAeIze{nveEKe4MsxR# zEeT66x~bWTm0a@0)an`B65teXwRy*U?P-^`BDw+QwVc%JH+Hob7x&%(;(Kj7o241d zb`W7#wV5En6J&tmLMCDFmtW1$2{?P6)!L@S%JG4DXK~`8N?^uDs(PH<=lJV<%rfRG z>Bb?uthekFR9#VPm@GWxPvy{@vh%l1MA*e-w4d(+HLY1p z&T-eatukyH!`*nV)j@DdCA=i!K!>I|(H^)|QKH$OY3dc(b%Qd(1s2sm~bMg^8 zwHkItOa4?k^QYsm?BKKd#ju^0x}gWNyX_KmPup63qL=OkNqH<-XtkB}VQyfgFigL{ zI1ms501Gg=1-~qQP~XV>xL=|`0Ik)Ny0@YKv{WppO02*#v1$Q~w8$f96F=hXbI57a Q_KK8t<)ReHe?`zg0hVy?ApigX literal 0 HcmV?d00001 diff --git a/oxalis-dist/oxalis-distribution/pom.xml b/oxalis-dist/oxalis-distribution/pom.xml index f2b0388..ff28aa3 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 4976c7b..f7e26a5 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 ad36168..79b25a4 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 12e9265..7c72930 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 950c622..fba9b14 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 ff43c74..41c1561 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 2384718..c0f3845 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 c2d5d19..a88e2c1 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 76b0ad2..64e3038 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 89ebd54..0909218 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 0000000..21b9cea --- /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 0000000..fce8a56 --- /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 89573ce..6c7d187 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 733bdaf..bf928ea 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 908a2de..5813f06 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 8b9259d..c9bc27f 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 5c00e09..a80b5cc 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 GIT binary patch literal 4240 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 NnJwXN|6eEOe*pQ_zxn_G literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index b7f5624..863e3e8 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 - -- GitLab