diff --git a/.github/workflows/apitest-push-trigger.yml b/.github/workflows/apitest-push-trigger.yml
index d705909de11..e8bfef92a18 100644
--- a/.github/workflows/apitest-push-trigger.yml
+++ b/.github/workflows/apitest-push-trigger.yml
@@ -44,7 +44,7 @@ jobs:
secrets:
OSSRH_USER: ${{ secrets.OSSRH_USER }}
OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
- OSSRH_URL: ${{ secrets.OSSRH_SNAPSHOT_URL }}
+ OSSRH_URL: ${{ secrets.RELEASE_URL }}
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
GPG_SECRET: ${{ secrets.GPG_SECRET }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
@@ -56,33 +56,6 @@ jobs:
uses: mosip/kattu/.github/workflows/maven-sonar-analysis.yml@master-java21
with:
SERVICE_LOCATION: ./apitest-commons
- secrets:
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- ORG_KEY: ${{ secrets.ORG_KEY }}
- OSSRH_USER: ${{ secrets.OSSRH_USER }}
- OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
- OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
- GPG_SECRET: ${{ secrets.GPG_SECRET }}
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
-
- build-maven-authentication-demo-service:
- uses: mosip/kattu/.github/workflows/maven-build.yml@master-java21
- with:
- SERVICE_LOCATION: ./authentication-demo-service
- BUILD_ARTIFACT: authentication-demo-service
- secrets:
- OSSRH_USER: ${{ secrets.OSSRH_USER }}
- OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
- OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
- GPG_SECRET: ${{ secrets.GPG_SECRET }}
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
-
- sonar_analysis-authentication-demo-service:
- needs: build-maven-authentication-demo-service
- if: "${{ github.event_name != 'pull_request' }}"
- uses: mosip/kattu/.github/workflows/maven-sonar-analysis.yml@master-java21
- with:
- SERVICE_LOCATION: ./authentication-demo-service
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
ORG_KEY: ${{ secrets.ORG_KEY }}
diff --git a/README.md b/README.md
index 665a06d7541..a9936150297 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@ To use this repository, ensure you have:
io.mosip.testrig.apirig.apitest.commons
apitest-commons
- 1.3.2-SNAPSHOT
+ 1.3.2
---
diff --git a/apitest-commons/README.md b/apitest-commons/README.md
index a5e7a2a098d..d6c1e48ca35 100644
--- a/apitest-commons/README.md
+++ b/apitest-commons/README.md
@@ -14,6 +14,7 @@ The API Test Commons is a shared codebase used for executing module-wise automat
- ESignet-signup
- Mimoto
- Inji-Certify
+- Inji-Verify
---
@@ -84,7 +85,7 @@ Ensure the following software is installed on the machine from where the automat
io.mosip.testrig.apirig.apitest.commons
apitest-commons
- 1.3.2-SNAPSHOT
+ 1.3.2
---
diff --git a/apitest-commons/pom.xml b/apitest-commons/pom.xml
index dcbcb4a276d..800eaad45cf 100644
--- a/apitest-commons/pom.xml
+++ b/apitest-commons/pom.xml
@@ -8,7 +8,7 @@
apitest-commons
Parent project of MOSIP functional tests
https://github.com/mosip/mosip-functional-tests
- 1.3.2-SNAPSHOT
+ 1.3.2
@@ -55,7 +55,7 @@
1.11.368
- 5.2.17.Final
+ 5.3.20.Final
1.1.2-incubating
@@ -66,7 +66,7 @@
3.3.9
7.11.0
1.13
- apitest-commons-1.3.2-SNAPSHOT-jar-with-dependencies
+ apitest-commons-1.3.2-jar-with-dependencies
diff --git a/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/AdminTestUtil.java b/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/AdminTestUtil.java
index d433b6254b4..57c03dc1e92 100644
--- a/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/AdminTestUtil.java
+++ b/apitest-commons/src/main/java/io/mosip/testrig/apirig/utils/AdminTestUtil.java
@@ -2787,6 +2787,8 @@ public String inputJsonKeyWordHandeler(String jsonString, String testCaseName) {
}
if (jsonString.contains(GlobalConstants.TIMESTAMP))
jsonString = replaceKeywordWithValue(jsonString, GlobalConstants.TIMESTAMP, generateCurrentUTCTimeStamp());
+ if (jsonString.contains("$EXPIRYTIMESTAMP$"))
+ jsonString = replaceKeywordWithValue(jsonString, "$EXPIRYTIMESTAMP$", generateExpiryUTCTimeStamp());
if (jsonString.contains(GlobalConstants.TRANSACTION_ID))
jsonString = replaceKeywordWithValue(jsonString, GlobalConstants.TRANSACTION_ID, TRANSACTION_ID);
if (jsonString.contains("$DATESTAMP$"))
@@ -3276,6 +3278,14 @@ public static String generateCurrentUTCTimeStamp() {
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
return dateFormat.format(date);
}
+
+ public static String generateExpiryUTCTimeStamp() {
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(Calendar.SECOND, Integer.parseInt(ConfigManager.getproperty("expirationTime")));
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+ dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+ return dateFormat.format(calendar.getTime());
+ }
public static String generateCurrentUTCDateStamp() {
Date date = new Date();
diff --git a/apitest-commons/src/main/resources/config/Kernel.properties b/apitest-commons/src/main/resources/config/Kernel.properties
index ea4cc1d5e1b..303b9d1a4d6 100644
--- a/apitest-commons/src/main/resources/config/Kernel.properties
+++ b/apitest-commons/src/main/resources/config/Kernel.properties
@@ -129,7 +129,7 @@ admin_password=mosip123
admin_userName=220005
admin_zone_password=mosip123
admin_zone_userName=globaladmin
-
+expirationTime=120
#------------------------- Need to check if these are used or not ------------------------#
diff --git a/authentication-demo-service/.gitignore b/authentication-demo-service/.gitignore
deleted file mode 100644
index 9f3662f45d3..00000000000
--- a/authentication-demo-service/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-logs/
-target/
-.project
-.settings
\ No newline at end of file
diff --git a/authentication-demo-service/Dockerfile b/authentication-demo-service/Dockerfile
deleted file mode 100644
index 178cadc86a5..00000000000
--- a/authentication-demo-service/Dockerfile
+++ /dev/null
@@ -1,86 +0,0 @@
-FROM eclipse-temurin:21-jre-alpine
-
-ARG SOURCE
-ARG COMMIT_HASH
-ARG COMMIT_ID
-ARG BUILD_TIME
-LABEL source=${SOURCE}
-LABEL commit_hash=${COMMIT_HASH}
-LABEL commit_id=${COMMIT_ID}
-LABEL build_time=${BUILD_TIME}
-
-# can be passed during Docker build as build time environment for github branch to pickup configuration from.
-ARG spring_config_label
-
-# can be passed during Docker build as build time environment for spring profiles active
-ARG active_profile
-
-# can be passed during Docker build as build time environment for config server URL
-ARG spring_config_url
-
-# can be passed during Docker build as build time environment for glowroot
-ARG is_glowroot
-
-# can be passed during Docker build as build time environment for artifactory URL
-ARG artifactory_url
-
-# environment variable to pass active profile such as DEV, QA etc at docker runtime
-ENV active_profile_env=${active_profile}
-
-# environment variable to pass github branch to pickup configuration from, at docker runtime
-ENV spring_config_label_env=${spring_config_label}
-
-# environment variable to pass spring configuration url, at docker runtime
-ENV spring_config_url_env=${spring_config_url}
-
-# environment variable to pass glowroot, at docker runtime
-ENV is_glowroot_env=${is_glowroot}
-
-# environment variable to pass artifactory url, at docker runtime
-ENV artifactory_url_env=${artifactory_url}
-
-# can be passed during Docker build as build time environment for github branch to pickup configuration from.
-ARG container_user=mosip
-
-# can be passed during Docker build as build time environment for github branch to pickup configuration from.
-ARG container_user_group=mosip
-
-# can be passed during Docker build as build time environment for github branch to pickup configuration from.
-ARG container_user_uid=1002
-
-# can be passed during Docker build as build time environment for github branch to pickup configuration from.
-ARG container_user_gid=1001
-
-# set working directory for the user
-WORKDIR /home/${container_user}
-
-ENV work_dir=/home/${container_user}
-
-ARG loader_path=${work_dir}/additional_jars/
-
-ENV loader_path_env=${loader_path}
-
-COPY ./target/authentication-demo-service-*.jar authentication-demo-service.jar
-
-ADD entrypoint.sh $work_dir/entrypoint.sh
-
-# install packages and create user
-RUN apk -q update \
- && apk add -q unzip wget bash \
- && addgroup -g ${container_user_gid} ${container_user_group} \
- && adduser -s /bin/sh -u ${container_user_uid} -G ${container_user_group} -h /home/${container_user} --disabled-password ${container_user} \
- && mkdir -p ${loader_path} \
- && chmod +x $work_dir/entrypoint.sh \
- && mkdir -p /usr/local/openjdk-21/lib/security && touch /usr/local/openjdk-21/lib/security/cacerts \
- && chown ${container_user}:${container_user} /usr/local/openjdk-21/lib/security/cacerts \
- && chmod 644 /usr/local/openjdk-21/lib/security/cacerts \
- && chown -R ${container_user}:${container_user} /home/${container_user}
-
-# select container user for all tasks
-USER ${container_user_uid}:${container_user_gid}
-
-EXPOSE 8384
-
-ENV authCertsPath=/home/${container_user}/authcerts
-
-ENTRYPOINT ["/bin/bash", "-c", "./entrypoint.sh"]
diff --git a/authentication-demo-service/README.md b/authentication-demo-service/README.md
deleted file mode 100644
index 0dba382d4fa..00000000000
--- a/authentication-demo-service/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Authentication Demo Service
-
-## Overview
-Demo authentication service used by automation tests.
-
-## Build & run (for developers)
-Prerequisites:
-[Config Server](https://docs.mosip.io/1.2.0/modules/module-configuration#config-server)
-
-The project requires JDK 1.21.
-1. Build and install:
- ```
- $ cd authentication-demo-service
- $ mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgpg.skip=true
- ```
-
-2. Build Docker for a service:
- ```
- $ cd
- $ docker build -f Dockerfile
- ```
-
-### Configuration
-[application-default.properties](https://github.com/mosip/mosip-config/blob/dev-integration/application-default.properties)
-
-defined here.
\ No newline at end of file
diff --git a/authentication-demo-service/entrypoint.sh b/authentication-demo-service/entrypoint.sh
deleted file mode 100644
index 57e8c72cc6f..00000000000
--- a/authentication-demo-service/entrypoint.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-
-
-## Run authentication demo service
-if [ "$is_glowroot_env" = "present" ]; then
- wget -q --show-progress "${artifactory_url_env}"/artifactory/libs-release-local/io/mosip/testing/glowroot.zip ;
- unzip glowroot.zip ;
- rm -rf glowroot.zip ;
- sed -i 's//authentication-demo-service/g' glowroot/glowroot.properties ;
- java -jar -javaagent:glowroot/glowroot.jar -Dloader.path="${loader_path_env}" -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" authentication-demo-service.jar ;
-else
- java -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" authentication-demo-service.jar ;
-fi
diff --git a/authentication-demo-service/lib/Keystore/ExportPrivateKey.java b/authentication-demo-service/lib/Keystore/ExportPrivateKey.java
deleted file mode 100644
index ecb02d20be0..00000000000
--- a/authentication-demo-service/lib/Keystore/ExportPrivateKey.java
+++ /dev/null
@@ -1,53 +0,0 @@
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.security.Key;
-import java.security.KeyStore;
-import java.util.Base64;
-/**
- * Class to export private key from key store in PEM format.
- * This is used since keytool cannot be used for this purpose.
- * Referenced from https://security.stackexchange.com/a/114776/221987
- *
- * Command Line: java ExportPrivateKey JCEKS
- *
- * Example: java ExportPrivateKey keystore.jks PKCS12 somepassword mosip.io somepassword PrivateKey.pem
-
- * @author Loganathan.Sekar
- *
- */
-
-
-public class ExportPrivateKey
-{
- private File keystoreFile;
- private String keyStoreType;
- private char[] keyStorePassword;
- private char[] keyPassword;
- private String alias;
- private File exportedFile;
-
- public void export() throws Exception {
- KeyStore keystore = KeyStore.getInstance(keyStoreType);
- keystore.load(new FileInputStream(keystoreFile), keyStorePassword);
- Key key = keystore.getKey(alias, keyPassword);
- String encoded = Base64.getEncoder().encodeToString(key.getEncoded());
- FileWriter fw = new FileWriter(exportedFile);
- fw.write("---BEGIN PRIVATE KEY---\n");
- fw.write(encoded);
- fw.write("\n");
- fw.write("---END PRIVATE KEY---");
- fw.close();
- }
-
- public static void main(String args[]) throws Exception {
- ExportPrivateKey export = new ExportPrivateKey();
- export.keystoreFile = new File(args[0]);
- export.keyStoreType = args[1];
- export.keyStorePassword = args[2].toCharArray();
- export.alias = args[3];
- export.keyPassword = args[4].toCharArray();
- export.exportedFile = new File(args[5]);
- export.export();
- }
-}
\ No newline at end of file
diff --git a/authentication-demo-service/lib/Keystore/MosipTestCert.cer b/authentication-demo-service/lib/Keystore/MosipTestCert.cer
deleted file mode 100644
index d744630a986..00000000000
--- a/authentication-demo-service/lib/Keystore/MosipTestCert.cer
+++ /dev/null
@@ -1,21 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDZTCCAk2gAwIBAgIEXVjtVDANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJ
-TjELMAkGA1UECBMCS0ExEjAQBgNVBAcTCUJhbmdhbG9yZTEOMAwGA1UEChMFSUlJ
-VEIxDjAMBgNVBAsTBU1PU0lQMRMwEQYDVQQDDApNT1NJUF9UZXN0MB4XDTIwMTAx
-MzA1MzkzNloXDTIzMTAxMzA1MzkzNlowYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgT
-AktBMRIwEAYDVQQHEwlCYW5nYWxvcmUxDjAMBgNVBAoTBUlJSVRCMQ4wDAYDVQQL
-EwVNT1NJUDETMBEGA1UEAwwKTU9TSVBfVGVzdDCCASIwDQYJKoZIhvcNAQEBBQAD
-ggEPADCCAQoCggEBAPK97wngjl7WF7EDdpCgq8WIP9gRaUFzTU8TIagWwjUfFQiQ
-5tCK6U7dgXl2fSGUeTHxSZyYcafM03xFqBFC+l359X1DULteoJEfLdCTbDqIGX1a
-iA9MnEGm0wSZEWwn1EqaXPazL65O/KP7oiiQgflLLhLImGOIw31zP7yQQTx+HsFf
-SUlmx+sR+dkdBJivGH6x7oFQN/tTbWhlpTAiV0EUIVjbFKglKcYxohYUg8JXo87K
-YGFwHxyXnzey59lm8wBgYFbEHhxxumkxh9kvzteED8gd1glyEWq4xQMP5v6ppgvV
-xUNOog49tINY2lQnlBdjSEogtzSvZtfVezBjyPMCAwEAAaMhMB8wHQYDVR0OBBYE
-FFNoJX0tSFoVyDYkgrDPY/RzvKYnMA0GCSqGSIb3DQEBCwUAA4IBAQBSB3VKv3oD
-tueFosT6TBaW+ZIIRhC0lwHyOtA8oqP7sjtCkKQO71MDHYGmpwZZKRuwAvelBltd
-Mkah5a/ne+b0o+A9BNoDFiH08pX4CL9drE9VNHNWrt63DaTa54Eodou9vTwOeq2e
-RePZdlfYpJ/LtOsNGXm9hJFac3YvZV9812lDIgV/bCsN18MF+pfjE7QnZ02hp2IM
-kysSjAyTNKUCnNFW/ccXoklw834COpu+weZivfS7XgUcrXSoZ4flZNVtE9CivNUH
-nIyQAG0oBrnVekkKl1vDdEGa2OmljXkD9Nzq0EwUVYTXDItc1i8ZpV2AUZTwAQdb
-yAK6/5b3BqYQ
------END CERTIFICATE-----
diff --git a/authentication-demo-service/lib/Keystore/MosipTestCert.pem b/authentication-demo-service/lib/Keystore/MosipTestCert.pem
deleted file mode 100644
index a1dc2ef50d0..00000000000
--- a/authentication-demo-service/lib/Keystore/MosipTestCert.pem
+++ /dev/null
@@ -1,21 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDZTCCAk2gAwIBAgIEXVjtVDANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJ
-TjELMAkGA1UECBMCS0ExEjAQBgNVBAcTCUJhbmdhbG9yZTEOMAwGA1UEChMFSUlJ
-VEIxDjAMBgNVBAsTBU1PU0lQMRMwEQYDVQQDDApNT1NJUF9UZXN0MB4XDTIwMTAx
-MzA1MzkzNloXDTIzMTAxMzA1MzkzNlowYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgT
-AktBMRIwEAYDVQQHEwlCYW5nYWxvcmUxDjAMBgNVBAoTBUlJSVRCMQ4wDAYDVQQL
-EwVNT1NJUDETMBEGA1UEAwwKTU9TSVBfVGVzdDCCASIwDQYJKoZIhvcNAQEBBQAD
-ggEPADCCAQoCggEBAPK97wngjl7WF7EDdpCgq8WIP9gRaUFzTU8TIagWwjUfFQiQ
-5tCK6U7dgXl2fSGUeTHxSZyYcafM03xFqBFC+l359X1DULteoJEfLdCTbDqIGX1a
-iA9MnEGm0wSZEWwn1EqaXPazL65O/KP7oiiQgflLLhLImGOIw31zP7yQQTx+HsFf
-SUlmx+sR+dkdBJivGH6x7oFQN/tTbWhlpTAiV0EUIVjbFKglKcYxohYUg8JXo87K
-YGFwHxyXnzey59lm8wBgYFbEHhxxumkxh9kvzteED8gd1glyEWq4xQMP5v6ppgvV
-xUNOog49tINY2lQnlBdjSEogtzSvZtfVezBjyPMCAwEAAaMhMB8wHQYDVR0OBBYE
-FFNoJX0tSFoVyDYkgrDPY/RzvKYnMA0GCSqGSIb3DQEBCwUAA4IBAQBSB3VKv3oD
-tueFosT6TBaW+ZIIRhC0lwHyOtA8oqP7sjtCkKQO71MDHYGmpwZZKRuwAvelBltd
-Mkah5a/ne+b0o+A9BNoDFiH08pX4CL9drE9VNHNWrt63DaTa54Eodou9vTwOeq2e
-RePZdlfYpJ/LtOsNGXm9hJFac3YvZV9812lDIgV/bCsN18MF+pfjE7QnZ02hp2IM
-kysSjAyTNKUCnNFW/ccXoklw834COpu+weZivfS7XgUcrXSoZ4flZNVtE9CivNUH
-nIyQAG0oBrnVekkKl1vDdEGa2OmljXkD9Nzq0EwUVYTXDItc1i8ZpV2AUZTwAQdb
-yAK6/5b3BqYQ
------END CERTIFICATE-----
diff --git a/authentication-demo-service/lib/Keystore/PrivateKey.p12 b/authentication-demo-service/lib/Keystore/PrivateKey.p12
deleted file mode 100644
index 6a9adb390df..00000000000
Binary files a/authentication-demo-service/lib/Keystore/PrivateKey.p12 and /dev/null differ
diff --git a/authentication-demo-service/lib/Keystore/PrivateKey.pem b/authentication-demo-service/lib/Keystore/PrivateKey.pem
deleted file mode 100644
index 4c6d4dfc7f0..00000000000
--- a/authentication-demo-service/lib/Keystore/PrivateKey.pem
+++ /dev/null
@@ -1,3 +0,0 @@
----BEGIN PRIVATE KEY---
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDyve8J4I5e1hexA3aQoKvFiD/YEWlBc01PEyGoFsI1HxUIkObQiulO3YF5dn0hlHkx8UmcmHGnzNN8RagRQvpd+fV9Q1C7XqCRHy3Qk2w6iBl9WogPTJxBptMEmRFsJ9RKmlz2sy+uTvyj+6IokIH5Sy4SyJhjiMN9cz+8kEE8fh7BX0lJZsfrEfnZHQSYrxh+se6BUDf7U21oZaUwIldBFCFY2xSoJSnGMaIWFIPCV6POymBhcB8cl583sufZZvMAYGBWxB4ccbppMYfZL87XhA/IHdYJchFquMUDD+b+qaYL1cVDTqIOPbSDWNpUJ5QXY0hKILc0r2bX1XswY8jzAgMBAAECggEADNswYNaK080E/jQPwIMx9clMkFYDvBquOoTp4GwsJwIZbBW4k8z3pFyo8dTrta6WaKW931RXmKqJfOh3iUqB1h5Z+SNqkDHn0SfUllpofgUdTH1R/XVyRSvfuzucJ51IahcY21wMJ3A5gzndkcZti9WGgCotn//rUqaa9pKxUdHFyKN9ajCsZuqEcjCBHaEUc3NtbAUNeEiy5IHmOHYkFxRlx/AUso6WUXcXXwlSJaySiEkacitqFTK5l2Sg1OWU+FXL/HAIYfbZkp6m6QxhVqgLhFZgzgtsYILaJzhSR36nt1MwjXr2AoIcZhcmmj6vt+x1u2wB/4IO6adiVAXx4QKBgQD8/tx5O0a8EciOc8ZraREuhCad2HLFNeAdi/UMtpi8QvFzcfhXcL5upB89vIIOQRhLSNx1e/SYhMHfkEzO3bl7NDnrW1rB8vlnLFMi2kDFLJMPhJ+4vnxWzIEFXsotivPP8UjgOXSUJQlVabYZBnAFQx3T1PiPfHjaOzrFPwqqEQKBgQD1n+ZzS9nJ8WkIg279CfznNezTwt18aIIMutLIPZ9lW3jVjonkevBddjHloZQkTVhoK2LpQPKeqlyDPZ6TmOP7YXIH9NiYH8qFbfjoJwjSt+TRn3i4St6KBN3LJFkVu1SKEJm8pUmIwB1d+p5aPXhHnJLsBYM116DMNXly8bJewwKBgEcqXdRQQ0Z17id8E611IZsnG0G9eBNXY1KMYwMPfgk+/3JM9eGK2lZ/Hjachy0BTJcoyLLXimc4uNxtV9286wboGv7EdNQnx9Yo1r3wDNYqArgTw2YRVyKHZiefkVmcQ5cTtT81ikB95pE7KjkB4ZLpXUOQHdcm2Uvx60c+w34xAoGAFJ/jmuTQmctilWtr42V2TffSNgnTzUF9QhJh5px+COXAZLY+T+gezMpC8FQ7+zxfYwfZm1pvxPDrKb3/1cbtxcrt50sg8M0ilUehseStMfxtA0kPuvHWc+JquUcJD/EV7S3tqtB6NzhifuSvbUZiFilIkPb5iIjdoKgQ1Z0D7D8CgYEAq2GAfN0vUS0Ws2nA5v2r/FbVQgveI6KpoUrGAd/KJg6JnglV5fLQQT/RuncTbaAm5niOo+PAu+kJNoZiS/NaCqb6Oj5XU6zDLApEohP+MKIUiYyg+XtLDLw5J8tmqx5s55amGM79JZ7O6wYWVTErdSc1fS2LA6B2Mb1bC7Bwsag=
----END PRIVATE KEY---
\ No newline at end of file
diff --git a/authentication-demo-service/lib/Keystore/PublicKey.pem b/authentication-demo-service/lib/Keystore/PublicKey.pem
deleted file mode 100644
index 1a372f50dff..00000000000
Binary files a/authentication-demo-service/lib/Keystore/PublicKey.pem and /dev/null differ
diff --git a/authentication-demo-service/lib/Keystore/README.txt b/authentication-demo-service/lib/Keystore/README.txt
deleted file mode 100644
index 78131e1d4a0..00000000000
--- a/authentication-demo-service/lib/Keystore/README.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-Create keystore with a certification of RSA 256:
-keytool -genkey -keystore keystore.jks -alias mosip.io -keyalg RSA -sigalg SHA256withRSA -validity 365 -keysize 2048
-
-Convert cert to PKCS12:
-keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12
-
-Export Csr Cert: --> not used
-keytool -certreq -alias mosip.io -keystore keystore.jks -file MosipTestCert.csr
-
-Export cert as PEM:
-keytool -exportcert -alias mosip.io -keystore keystore.jks -rfc -file MosipTestCert.pem
-
-Export Public Key:
-keytool -export -alias mosip.io -keystore keystore.jks -file PublicKey.pem
-
-Export Private Key:
-keytool -importkeystore -srckeystore keystore.jks -srcstorepass somepassword -srckeypass somepassword -srcalias mosip.io -destalias mosip.io -destkeystore PrivateKey.p12 -deststoretype PKCS12 -deststorepass somepassword -destkeypass somepassword
-
-//Linux -- Not used
-//openssl pkcs12 -in PrivateKey.p12 -nodes -nocerts -out PrivateKey.pem
-
-
-//Any OS - USED
-ExportPrivateKey.java
---
-import sun.misc.BASE64Encoder;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.security.*;
-
-public class ExportPrivateKey
-{
- private File keystoreFile;
- private String keyStoreType;
- private char[] keyStorePassword;
- private char[] keyPassword;
- private String alias;
- private File exportedFile;
-
- public void export() throws Exception {
- KeyStore keystore = KeyStore.getInstance(keyStoreType);
- BASE64Encoder encoder = new BASE64Encoder();
- keystore.load(new FileInputStream(keystoreFile), keyStorePassword);
- Key key = keystore.getKey(alias, keyPassword);
- String encoded = encoder.encode(key.getEncoded());
- FileWriter fw = new FileWriter(exportedFile);
- fw.write("---BEGIN PRIVATE KEY---\n");
- fw.write(encoded);
- fw.write("\n");
- fw.write("---END PRIVATE KEY---");
- fw.close();
- }
-
- public static void main(String args[]) throws Exception {
- ExportPrivateKey export = new ExportPrivateKey();
- export.keystoreFile = new File(args[0]);
- export.keyStoreType = args[1];
- export.keyStorePassword = args[2].toCharArray();
- export.alias = args[3];
- export.keyPassword = args[4].toCharArray();
- export.exportedFile = new File(args[5]);
- export.export();
- }
-}
---
-javac ExportPrivateKey.java
-java ExportPrivateKey JCEKS “”
-
-Example:
-java ExportPrivateKey keystore.jks PKCS12 somepassword mosip.io somepassword PrivateKey.pem
diff --git a/authentication-demo-service/lib/Keystore/keystore.jks b/authentication-demo-service/lib/Keystore/keystore.jks
deleted file mode 100644
index e5fc2931729..00000000000
Binary files a/authentication-demo-service/lib/Keystore/keystore.jks and /dev/null differ
diff --git a/authentication-demo-service/lib/Keystore/keystore.jks.old b/authentication-demo-service/lib/Keystore/keystore.jks.old
deleted file mode 100644
index 3ad70e6fa8a..00000000000
Binary files a/authentication-demo-service/lib/Keystore/keystore.jks.old and /dev/null differ
diff --git a/authentication-demo-service/pom.xml b/authentication-demo-service/pom.xml
deleted file mode 100644
index f323215349f..00000000000
--- a/authentication-demo-service/pom.xml
+++ /dev/null
@@ -1,391 +0,0 @@
-
- 4.0.0
-
-
- io.mosip.testrig.authentication.demo
- 1.2.1-SNAPSHOT
- authentication-demo-service
- authentication-demo-service
- Parent project of MOSIP functional tests
- https://github.com/mosip/mosip-functional-tests
- jar
-
-
-
- MPL 2.0
- https://www.mozilla.org/en-US/MPL/2.0/
-
-
-
-
- scm:git:git://github.com/mosip/mosip-functional-tests.git
- scm:git:ssh://github.com:mosip/mosip-functional-tests.git
- https://github.com/mosip/mosip-functional-tests
- HEAD
-
-
-
-
- Mosip
- mosip.emailnotifier@gmail.com
- io.mosip
- https://github.com/mosip/mosip-functional-tests
-
-
-
-
-
- local-maven-repo
- file:///${basedir}/lib
-
-
-
- snapshots-repo
- https://oss.sonatype.org/content/repositories/snapshots
- false
- true
-
-
-
- releases-repo
- https://oss.sonatype.org/service/local/staging/deploy/maven2
- false
- false
-
-
-
- danubetech-maven-public
- https://repo.danubetech.com/repository/maven-public/
-
-
-
-
-
- 3.2.3
- 2.0.0.RELEASE
-
- 21
- 21
- 3.8.0
- 3.0.1
- 2.9.2
- 0.8.2
-
- 1.2.1-SNAPSHOT
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-test
-
-
- commons-io
- commons-io
-
-
- javax.ws.rs
- javax.ws.rs-api
- 2.0
-
-
- org.glassfish.jersey.core
- jersey-common
- test
-
-
- io.mosip.authentication
- authentication-core
- 1.2.1-SNAPSHOT
-
-
- commons-codec
- commons-codec
-
-
- org.springdoc
- springdoc-openapi-ui
-
-
-
-
- commons-fileupload
- commons-fileupload
-
-
-
- org.mockito
- mockito-core
-
-
-
- io.mosip.kernel
- kernel-core
- 1.2.1-SNAPSHOT
-
-
- org.springframework.boot
-
- spring-boot-starter-security
-
-
-
- commons-codec
- commons-codec
-
-
-
-
- io.mosip.kernel
- kernel-websubclient-api
- ${kernel-websubclient-api.version}
-
-
-
- org.springframework.boot
- spring-boot-starter-actuator
-
-
-
- org.apache.httpcomponents
- httpclient
-
-
- commons-codec
- commons-codec
-
-
-
-
-
-
- org.apache.httpcomponents
- httpmime
- 4.5.7
-
-
- org.json
- json
- 20231013
-
-
- org.apache.commons
- commons-lang3
-
-
- org.tensorflow
- tensorflow
- 1.12.0
-
-
-
- org.apache.commons
- commons-io
- 1.3.2
-
-
-
-
- commons-lang
- commons-lang
- 2.4
-
-
- org.apache.commons
- commons-text
- 1.10.0
-
-
- commons-codec
- commons-codec
-
-
- io.mosip.kernel
- kernel-templatemanager-velocity
- 1.2.1-SNAPSHOT
-
-
- org.springframework.cloud
- spring-cloud-starter-config
-
-
- org.postgresql
- postgresql
-
-
- com.github.jai-imageio
- jai-imageio-jpeg2000
- 1.3.0
-
-
- org.json
- json
- 20231013
-
-
- io.mosip.kernel
- kernel-keymanager-service
- 1.2.1-SNAPSHOT
- lib
-
-
- org.springframework.boot
-
- spring-boot-starter-security
-
-
-
-
-
- dom4j
- dom4j
- 1.6.1
-
-
- org.junit.vintage
- junit-vintage-engine
-
-
- org.springdoc
- springdoc-openapi-starter-webmvc-ui
- 2.6.0
-
-
-
-
-
- io.mosip.kernel
- kernel-bom
- 1.2.1-SNAPSHOT
- pom
- import
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
-
-
- attach-javadocs
-
- jar
-
-
-
-
- none
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
- ${spring.boot.version}
-
- true
- ZIP
-
-
-
-
- build-info
- repackage
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-gpg-plugin
- 1.5
-
-
- sign-artifacts
- verify
-
- sign
-
-
-
- --pinentry-mode
- loopback
-
-
-
-
-
-
- pl.project13.maven
- git-commit-id-plugin
- 3.0.1
-
-
- get-the-git-infos
-
- revision
-
- validate
-
-
-
- true
- ${project.build.outputDirectory}/service-git.properties
-
- ^git.build.(time|version)$
- ^git.commit.id.(abbrev|full)$
-
- full
- ${project.basedir}/.git
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${maven.compiler.version}
-
- ${maven.compiler.source}
- ${maven.compiler.target}
-
-
-
- org.jacoco
- jacoco-maven-plugin
-
-
- **/constant/**
- **/config/**
- **/dto/**
- io/mosip/authentication/service/*.class
- io/mosip/authentication/service/filter/**
- io/mosip/demo/authentication/service/IdAuthenticationDemoApplication.class
-
-
-
-
-
- prepare-agent
-
-
-
- report
- prepare-package
-
- report
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/PartnerDemoApplication.java b/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/PartnerDemoApplication.java
deleted file mode 100644
index 7cc2558cad6..00000000000
--- a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/PartnerDemoApplication.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package io.mosip.testrig.authentication.demo.service;
-
-import io.mosip.kernel.templatemanager.velocity.builder.TemplateManagerBuilderImpl;
-import io.mosip.kernel.websub.api.client.PublisherClientImpl;
-import io.mosip.kernel.websub.api.client.SubscriberClientImpl;
-import io.mosip.kernel.websub.api.config.publisher.RestTemplateHelper;
-import org.apache.velocity.app.VelocityEngine;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.Import;
-
-import io.mosip.kernel.crypto.jce.core.CryptoCore;
-import io.mosip.kernel.templatemanager.velocity.impl.TemplateManagerImpl;
-import io.mosip.testrig.authentication.demo.service.config.SwaggerConfig;
-
-/**
- * Spring-boot class for ID Authentication Application.
- *
- * @author Dinesh Karuppiah
- */
-@SpringBootApplication
-@Import(value = { TemplateManagerImpl.class, VelocityEngine.class, SwaggerConfig.class, CryptoCore.class, TemplateManagerBuilderImpl.class,
- PublisherClientImpl.class, RestTemplateHelper.class, SubscriberClientImpl.class})
-public class PartnerDemoApplication {
-
- /**
- * The main method.
- *
- * @param args the arguments
- */
- public static void main(String[] args) {
- SpringApplication.run(PartnerDemoApplication.class, args);
- }
-
-}
diff --git a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/BIRDeserializer.java b/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/BIRDeserializer.java
deleted file mode 100644
index c39c54d232e..00000000000
--- a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/BIRDeserializer.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package io.mosip.testrig.authentication.demo.service.config;
-
-import java.io.IOException;
-import java.util.List;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
-
-import io.mosip.kernel.biometrics.constant.BiometricType;
-import io.mosip.kernel.biometrics.entities.BDBInfo;
-import io.mosip.kernel.biometrics.entities.BIR;
-import io.mosip.kernel.biometrics.entities.RegistryIDType;
-import io.mosip.kernel.core.util.CryptoUtil;
-
-public class BIRDeserializer extends StdDeserializer {
-
- ObjectMapper mapper = new ObjectMapper();
-
- public BIRDeserializer() {
- this(null);
- }
-
- protected BIRDeserializer(Class> vc) {
- super(vc);
- }
-
- @Override
- public BIR deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
- JsonNode node = p.getCodec().readTree(p);
-
- RegistryIDType format = new RegistryIDType();
- format.setOrganization(node.get("bdbInfo").get("format").get("organization").asText());
- format.setType(node.get("bdbInfo").get("format").get("type").asText());
- return new BIR.BIRBuilder().withBdb(CryptoUtil.decodeBase64(node.get("bdb").asText()))
- .withBdbInfo(new BDBInfo.BDBInfoBuilder()
- .withType((List) mapper.readValue(node.get("bdbInfo").get("type").toString(), List.class))
- .withSubtype(mapper.readValue(node.get("bdbInfo").get("subtype").toString(), List.class))
- .withFormat(format).build()).build();
- }
-
-}
diff --git a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/BioProviderConfig.java b/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/BioProviderConfig.java
deleted file mode 100644
index a6aa41e1548..00000000000
--- a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/BioProviderConfig.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package io.mosip.testrig.authentication.demo.service.config;
-
-import jakarta.annotation.PostConstruct;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.module.SimpleModule;
-
-import io.mosip.kernel.biometrics.entities.BIR;
-import io.mosip.kernel.core.bioapi.exception.BiometricException;
-import io.mosip.kernel.core.bioapi.spi.IBioApi;
-import io.mosip.kernel.core.util.StringUtils;
-
-/**
- * @author Manoj SP
- *
- */
-@Configuration
-public class BioProviderConfig {
-
- @Autowired
- private Environment env;
-
- @Autowired
- private ObjectMapper mapper;
-
- @PostConstruct
- public void init() {
- SimpleModule module = new SimpleModule();
- module.addDeserializer(BIR.class, new BIRDeserializer());
- mapper.registerModule(module);
- mapper.configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, false);
- }
-
- @Bean
- public IBioApi providerApi() throws BiometricException {
- try {
- if (StringUtils.isNotEmpty(env.getProperty("bio.test.server.provider"))) {
- System.err.println(env.getProperty("bio.test.server.provider"));
- return (IBioApi) Class.forName(env.getProperty("bio.test.server.provider")).newInstance();
- }
- } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
- throw new BiometricException("", "Unable to load provider", e);
- }
- return null;
- }
-}
diff --git a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/OpenApiProperties.java b/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/OpenApiProperties.java
deleted file mode 100644
index ef2b2b95526..00000000000
--- a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/OpenApiProperties.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package io.mosip.testrig.authentication.demo.service.config;
-
-import java.util.List;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
-
-import lombok.Data;
-
-/**
- * @author Kamesh Shekhar prasad
- */
-
-@Configuration
-@ConfigurationProperties(prefix = "openapi")
-@Data
-public class OpenApiProperties {
- private InfoProperty info;
- private AuthDemoServiceServer authDemoServiceServer;
-}
-
-@Data
-class InfoProperty {
- private String title;
- private String description;
- private String version;
- private LicenseProperty license;
-}
-
-@Data
-class LicenseProperty {
- private String name;
- private String url;
-}
-
-@Data
-class AuthDemoServiceServer {
- private List servers;
-}
-
-@Data
-class Server {
- private String description;
- private String url;
-}
diff --git a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/SwaggerConfig.java b/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/SwaggerConfig.java
deleted file mode 100644
index 46e39ef817c..00000000000
--- a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/config/SwaggerConfig.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package io.mosip.testrig.authentication.demo.service.config;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import io.swagger.v3.oas.models.Components;
-import io.swagger.v3.oas.models.OpenAPI;
-import io.swagger.v3.oas.models.info.Info;
-import io.swagger.v3.oas.models.info.License;
-import io.swagger.v3.oas.models.servers.Server;
-
-@Configuration
-public class SwaggerConfig {
-
- private static final Logger logger = LoggerFactory.getLogger(SwaggerConfig.class);
-
- @Autowired
- private OpenApiProperties openApiProperties;
-
- @Bean
- public OpenAPI openApi() {
- String msg = "Swagger open api, ";
- OpenAPI api = new OpenAPI()
- .components(new Components());
- if (null != openApiProperties.getInfo()) {
- api.info(new Info()
- .title(openApiProperties.getInfo().getTitle())
- .version(openApiProperties.getInfo().getVersion())
- .description(openApiProperties.getInfo().getDescription()));
- if (null != openApiProperties.getInfo().getLicense()) {
- api.getInfo().license(new License()
- .name(openApiProperties.getInfo().getLicense().getName())
- .url(openApiProperties.getInfo().getLicense().getUrl()));
- logger.info(msg + "info license property is added");
- } else {
- logger.error(msg + "info license property is empty");
- }
- logger.info(msg + "info property is added");
- } else {
- logger.error(msg + "info property is empty");
- }
-
- if (null != openApiProperties.getAuthDemoServiceServer().getServers()) {
- openApiProperties.getAuthDemoServiceServer().getServers().forEach(server -> {
- api.addServersItem(new Server().description(server.getDescription()).url(server.getUrl()));
- });
- logger.info(msg + "server property is added");
- } else {
- logger.error(msg + "server property is empty");
- }
- return api;
- }
-
-}
diff --git a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/controller/AuthRequestController.java b/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/controller/AuthRequestController.java
deleted file mode 100644
index dfbd0720a65..00000000000
--- a/authentication-demo-service/src/main/java/io/mosip/testrig/authentication/demo/service/controller/AuthRequestController.java
+++ /dev/null
@@ -1,1230 +0,0 @@
-/*
- *
- */
-package io.mosip.testrig.authentication.demo.service.controller;
-
-import static io.mosip.authentication.core.constant.IdAuthCommonConstants.UTF_8;
-
-import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.KeyManagementException;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.UnrecoverableEntryException;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateEncodingException;
-import java.security.cert.CertificateException;
-import java.security.cert.X509Certificate;
-import java.security.spec.InvalidKeySpecException;
-import java.util.ArrayList;
-import java.util.Base64;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.function.BiFunction;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import jakarta.annotation.PostConstruct;
-import javax.crypto.BadPaddingException;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import javax.xml.bind.DatatypeConverter;
-
-import io.mosip.testrig.authentication.demo.service.dto.*;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.io.IOUtils;
-import org.bouncycastle.operator.OperatorCreationException;
-import org.jose4j.lang.JoseException;
-import org.json.JSONException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.env.Environment;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.lang.NonNull;
-import org.springframework.lang.Nullable;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.client.HttpServerErrorException;
-import org.springframework.web.client.RestClientException;
-import org.springframework.web.client.RestTemplate;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-import io.mosip.authentication.core.constant.IdAuthCommonConstants;
-import io.mosip.authentication.core.constant.IdAuthenticationErrorConstants;
-import io.mosip.authentication.core.exception.IdAuthenticationAppException;
-import io.mosip.authentication.core.exception.IdAuthenticationBusinessException;
-import io.mosip.authentication.core.indauth.dto.IdType;
-import io.mosip.authentication.core.spi.indauth.match.MatchType;
-import io.mosip.kernel.core.exception.ExceptionUtils;
-import io.mosip.kernel.core.exception.ServiceError;
-import io.mosip.kernel.core.templatemanager.spi.TemplateManager;
-import io.mosip.kernel.core.templatemanager.spi.TemplateManagerBuilder;
-import io.mosip.kernel.core.util.CryptoUtil;
-import io.mosip.kernel.core.util.DateUtils;
-import io.mosip.kernel.core.util.HMACUtils2;
-import io.mosip.testrig.authentication.demo.service.controller.Encrypt.SplittedEncryptedData;
-import io.mosip.testrig.authentication.demo.service.helper.CertificateTypes;
-import io.mosip.testrig.authentication.demo.service.helper.KeyMgrUtil;
-import io.mosip.testrig.authentication.demo.service.helper.PartnerTypes;
-import io.swagger.annotations.Api;
-
-/**
- * The Class AuthRequestController is used to automate the creation of Auth
- * Request.
- *
- * @author Arun Bose S
- */
-@RestController
-@Api(tags = { "Authentication Request Creation" })
-public class AuthRequestController {
-
- private static final String PHONE = "PHONE";
-
- private static final String EMAIL = "EMAIL";
-
- private static final String CHANNELS = "channels";
-
- private static final String DATE_TIME = "dateTime";
-
- private static final String MOSIP_ENV = "mosip.env";
-
- private static final String MOSIP_DOMAINURI= "mosip.domainUri";
-
- private static final String REQ_ID = "reqId";
-
- private static final String PROP_PARTNER_URL_SUFFIX = "partnerUrlSuffix";
-
- private static final String SPEC_VERSION = "specVersion";
-
- private static final String MOSIP_BASE_URL = "mosip.base.url";
-
- private static final String ENV = "env";
-
- private static final String DOMAIN_URI = "domainUri";
-
- private static final String TRANSACTION_ID = "transactionId";
-
- private static final String DIGITAL_ID = "digitalId";
-
- private static final String SESSION_KEY = "sessionKey";
-
- private static final String BIO_VALUE = "bioValue";
-
- private static final String DATA = "data";
-
- private static final String BIOMETRICS = "biometrics";
-
- private static final String IDENTITY = "Identity";
-
- private static final String SECONDARY_LANG_CODE = "secondaryLangCode";
-
- /** The Constant TEMPLATE. */
- private static final String TEMPLATE = "Template";
-
- private static final String PIN = "pin";
-
- private static final String BIO = "bio";
-
- private static final String DEMO = "demo";
-
- private static final String OTP = "otp";
-
- private static final String TIMESTAMP = "timestamp";
-
- private static final String TXN = "txn";
-
- private static final String VER = "ver";
-
- private static final String IDA_API_VERSION = "ida.api.version";
-
- private static final String AUTH_TYPE = "authType";
-
- private static final String UIN = "UIN";
-
- private static final String ID_TYPE = "idType";
-
- private static final String IDA_AUTH_REQUEST_TEMPLATE = "ida.authRequest.template";
-
- private static final String IDA_KYC_EXCHANGE_REQUEST_TEMPLATE = "ida.kycExchangeRequest.template";
-
- private static final String IDA_VCI_EXCHANGE_REQUEST_TEMPLATE = "ida.vciExchangeRequest.template";
-
- private static final String ID = "id";
-
- private static final String CLASSPATH = "classpath";
-
- private static final String ENCODE_TYPE = "UTF-8";
-
- private static final String DEFAULT_OTP_REQ_TEMPLATE = "{\r\n"
- + " \"id\": \"${reqId}\",\r\n"
- + " \"individualId\": \"${id}\",\r\n"
- + " \"otpChannel\": [\r\n"
- + " \"email\",\r\n"
- + " \"phone\"\r\n"
- + " ],\r\n"
- + " \"requestTime\": \"${timestamp}\",\r\n"
- + " \"transactionID\": \"${txn}\",\r\n"
- + " \"version\": \"${ver}\"\r\n"
- + "}";
-
- private static final String BEGIN_CERTIFICATE = "-----BEGIN CERTIFICATE-----";
- private static final String END_CERTIFICATE = "-----END CERTIFICATE-----";
- private static final String LINE_SEPARATOR = System.getProperty("line.separator");
-
- @Autowired
- private Encrypt encrypt;
-
- @Autowired
- private Environment environment;
-
- @Autowired
- private TemplateManagerBuilder templateManagerBuilder;
-
- @Autowired
- private TemplateManager templateManager;
-
- @Autowired
- private ObjectMapper mapper;
-
- @Autowired
- JWSSignAndVerifyController jWSSignAndVerifyController;
-
- @Autowired
- KeyMgrUtil keyMgrUtil;
-
- @PostConstruct
- public void idTemplateManagerPostConstruct() {
- templateManager = templateManagerBuilder.encodingType(ENCODE_TYPE).enableCache(false).resourceLoader(CLASSPATH)
- .build();
- }
-
- /**
- * this method is used to create the auth request.
- *
- * @param id the id
- * @param idType the id type
- * @param isKyc the is kyc
- * @param isInternal the is internal
- * @param reqAuth the req auth
- * @param transactionId the transaction id
- * @param request the request
- * @return the string
- * @throws Exception
- */
- @SuppressWarnings("unchecked")
- @PostMapping(path = "/createAuthRequest", consumes = MediaType.APPLICATION_JSON_VALUE, produces = {
- MediaType.TEXT_PLAIN_VALUE })
- public ResponseEntity createAuthRequest(@RequestParam(name = ID, required = true) @Nullable String id,
- @RequestParam(name = ID_TYPE, required = false) @Nullable String idType,
- @RequestParam(name = "isKyc", required = false) @Nullable boolean isKyc,
- @RequestParam(name = "isInternal", required = false) @Nullable boolean isInternal,
- @RequestParam(name = "Authtype", required = false) @Nullable String reqAuth,
- @RequestParam(name = TRANSACTION_ID, required = false) @Nullable String transactionId,
- @RequestParam(name = "requestTime", required = false) @Nullable String requestTime,
- @RequestParam(name = "isNewInternalAuth", required = false) @Nullable boolean isNewInternalAuth,
- @RequestParam(name = "isPreLTS", required = false) @Nullable boolean isPreLTS,
- @RequestParam(name = "signWithMisp", required = false) @Nullable boolean signWithMisp,
- @RequestParam(name = "partnerName", required = false) String partnerName,
- @RequestParam(name = "keyFileNameByPartnerName", required = false) boolean keyFileNameByPartnerName,
- @RequestBody Map request,
- @RequestParam(name = "certsDir", required = false) String certsDir,
- @RequestParam(name = "moduleName", required = false) String moduleName) throws Exception {
- String authRequestTemplate = environment.getProperty(IDA_AUTH_REQUEST_TEMPLATE);
- Map reqValues = new HashMap<>();
-
- if(isPreLTS) {
- reqValues.put(OTP, false);
- reqValues.put(DEMO, false);
- reqValues.put(BIO, false);
- reqValues.put(PIN, false);
- }
-
- if(isNewInternalAuth) {
- isInternal = true;
- }
-
- boolean needsEncryption = !isInternal || !isNewInternalAuth;
- String keysDirPath = keyMgrUtil.getKeysDirPath(certsDir, moduleName);
-
- if(needsEncryption) {
- reqValues.put("thumbprint",
- digest(getCertificateThumbprint(encrypt.getCertificate(isInternal, keysDirPath))));
- }
-
- if (requestTime == null) {
- requestTime = DateUtils.getUTCCurrentDateTimeString(environment.getProperty("datetime.pattern"));
-
- }
-
- if(!request.containsKey(TIMESTAMP)) {
- request.put(TIMESTAMP, "");//Initializing. Setting value is done in further steps.
- }
-
- idValuesMap(id, isKyc, isInternal, reqValues, transactionId, requestTime);
- getAuthTypeMap(reqAuth, reqValues, request);
- applyRecursively(request, TIMESTAMP, requestTime);
- applyRecursively(request, DATE_TIME, requestTime);
- applyRecursively(request, TRANSACTION_ID, transactionId);
-
- if(isKyc && signWithMisp) {
- reqValues.put(AUTH_TYPE, "kycauth");
- }
-
- if(needsEncryption) {
- if (reqValues.get(BIO) != null && Boolean.valueOf(reqValues.get(BIO).toString())) {
- Object bioObj = request.get(BIOMETRICS);
- if (bioObj instanceof List) {
- List