aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/AdESResultUtils.java
diff options
context:
space:
mode:
authorAndreas Fitzek <andreas.fitzek@iaik.tugraz.at>2016-06-07 14:57:27 +0200
committerAndreas Fitzek <andreas.fitzek@iaik.tugraz.at>2016-06-07 14:57:27 +0200
commit606fd125e82b532f2e75dc787edb1f535dacfae9 (patch)
tree72b81de83914e2df3823015310192eef1f21fe87 /moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/AdESResultUtils.java
parent4d0c73640c083a800060863309129960f44fc281 (diff)
downloadmoa-sig-606fd125e82b532f2e75dc787edb1f535dacfae9.tar.gz
moa-sig-606fd125e82b532f2e75dc787edb1f535dacfae9.tar.bz2
moa-sig-606fd125e82b532f2e75dc787edb1f535dacfae9.zip
3.0.0-RC2 signature form results adapted
Diffstat (limited to 'moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/AdESResultUtils.java')
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/AdESResultUtils.java70
1 files changed, 70 insertions, 0 deletions
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/AdESResultUtils.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/AdESResultUtils.java
new file mode 100644
index 0000000..90722b8
--- /dev/null
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/AdESResultUtils.java
@@ -0,0 +1,70 @@
+package at.gv.egovernment.moa.spss.util;
+
+import java.util.Iterator;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.impl.AdESFormResultsImpl;
+import at.gv.egovernment.moaspss.logging.Logger;
+import iaik.esi.sva.validation.ValidationReport;
+import iaik.server.ConfigurationException;
+import iaik.server.modules.ResultCode;
+import iaik.server.modules.ResultCodeInvalid;
+import iaik.server.modules.ResultCodeValid;
+import iaik.server.modules.SignatureVerificationResult;
+
+public class AdESResultUtils {
+
+ public static Integer getResultCode(Integer adesCode) {
+ return adesCode;
+ }
+
+ public static void buildResult(ValidationReport report, List adesList) {
+
+ if(report == null) {
+ return;
+ }
+
+ AdESFormResultsImpl adESFormResultsImpl = new AdESFormResultsImpl();
+ adESFormResultsImpl.setCode(report.getStatus().ordinal());
+ adESFormResultsImpl.setInfo(report.getLongText());
+ adESFormResultsImpl.setName(report.getValidationName());
+
+ adesList.add(adESFormResultsImpl);
+
+ if(report.getSubValidationReports() != null && !report.getSubValidationReports().isEmpty()) {
+ Iterator<ValidationReport> reportIt = report.getSubValidationReports().iterator();
+ while(reportIt.hasNext()) {
+ buildResult(reportIt.next(), adesList);
+ }
+ }
+
+ }
+
+ public static void checkSubResult(SignatureVerificationResult subResult, String level, List adesList) throws ConfigurationException {
+ if (subResult != null) {
+ Logger.info("Checking Level: " + level);
+ try {
+
+ AdESFormResultsImpl adESFormResultsImpl = new AdESFormResultsImpl();
+ ResultCode resultCode = subResult.getResultCode();
+ if(resultCode instanceof ResultCodeValid) {
+ adESFormResultsImpl.setCode(SignatureVerificationResult.VALID);//.getResultCode().getCode()));
+ } else if(resultCode instanceof ResultCodeInvalid) {
+ adESFormResultsImpl.setCode(SignatureVerificationResult.INVALID);
+ } else {
+ adESFormResultsImpl.setCode(SignatureVerificationResult.INDETERMINATE);
+ }
+ Logger.info("RESULT: " + resultCode.toString());
+ adESFormResultsImpl.setInfo(subResult.getInfo());
+ adESFormResultsImpl.setName(level);
+
+ adesList.add(adESFormResultsImpl);
+ } catch (NullPointerException e) {
+ Logger.warn("Catching NullPointer Exception, of invalid? Form Results", e);
+ }
+ } else {
+ Logger.info("Subresult Level: " + level + " not available");
+ }
+ }
+
+}