aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind
diff options
context:
space:
mode:
Diffstat (limited to 'moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind')
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java20
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java5
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyPDFSignatureResponseBuilder.java7
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java11
4 files changed, 43 insertions, 0 deletions
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java
index 91dc6b9..a21e693 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java
@@ -389,6 +389,26 @@ public class ResponseBuilderUtils {
}
}
+ public static void addSignatureAlgorithm(Document response,
+ Element root,
+ String algorithm) {
+ if(algorithm != null) {
+ Element extElem = response.createElementNS(MOA_NS_URI, "SignatureAlgorithm");
+ extElem.appendChild(response.createTextNode(algorithm));
+ root.appendChild(extElem);
+ }
+ }
+
+ public static void addHashAlgorithm(Document response,
+ Element root,
+ String algorithm) {
+ if(algorithm != null) {
+ Element extElem = response.createElementNS(MOA_NS_URI, "HashAlgorithm");
+ extElem.appendChild(response.createTextNode(algorithm));
+ root.appendChild(extElem);
+ }
+}
+
public static void addExtendendResult(Document response,
Element root,
ExtendedCertificateCheckResult result) {
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java
index 30bf3c4..de39948 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java
@@ -132,6 +132,11 @@ public class VerifyCMSSignatureResponseBuilder {
responseElem, signerInfo.getSigningTime());
}
+ ResponseBuilderUtils.addSignatureAlgorithm(responseDoc,
+ responseElem,
+ responseElement.getSignatureAlgorithm());
+
+
ResponseBuilderUtils.addCodeInfoElement(
responseDoc,
responseElem,
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyPDFSignatureResponseBuilder.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyPDFSignatureResponseBuilder.java
index 0ca6f8f..8b10191 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyPDFSignatureResponseBuilder.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyPDFSignatureResponseBuilder.java
@@ -123,11 +123,18 @@ public class VerifyPDFSignatureResponseBuilder {
responseElem,
signerInfo.getSigningTime());
+
} else {
Logger.info("Find signature result with no 'SignerInfo'. Maybe a signature verification Failed");
}
+
+ ResponseBuilderUtils.addSignatureAlgorithm(responseDoc,
+ responseElem,
+ responseElement.getSignatureAlgorithm());
+
+
ResponseBuilderUtils.addCodeInfoElement(
responseDoc,
responseElem,
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java
index 0042464..82d01c0 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java
@@ -35,6 +35,7 @@ import org.w3c.dom.NodeList;
import at.gv.egovernment.moaspss.logging.Logger;
import at.gv.egovernment.moaspss.util.Base64Utils;
import at.gv.egovernment.moaspss.util.Constants;
+import at.gv.egovernment.moaspss.util.MiscUtil;
import at.gv.egovernment.moa.spss.MOAApplicationException;
import at.gv.egovernment.moa.spss.MOASystemException;
import at.gv.egovernment.moa.spss.api.common.Content;
@@ -134,6 +135,9 @@ public class VerifyXMLSignatureResponseBuilder {
}
}
+ //add hash algorithm
+ ResponseBuilderUtils.addSignatureAlgorithm(responseDoc, responseElem, response.getSignatureAlgorithm());
+
// add the SignatureCheck
addReferencesCheckResult("SignatureCheck", response.getSignatureCheck());
@@ -204,6 +208,11 @@ public class VerifyXMLSignatureResponseBuilder {
contentElem.setAttributeNS(null, "ReferringSigReference",
Integer.toString(inputData.getReferringReferenceNumber()));
+ if (MiscUtil.isNotEmpty(inputData.getHashAlgorithm())) {
+ contentElem.setAttribute("HashAlgorithm", inputData.getHashAlgorithm());
+
+ }
+
switch (inputData.getContentType()) {
case Content.XML_CONTENT:
ContentXML contentXml = (ContentXML) inputData;
@@ -236,6 +245,7 @@ public class VerifyXMLSignatureResponseBuilder {
responseElem.appendChild(contentElem);
break;
}
+
}
/**
@@ -267,6 +277,7 @@ public class VerifyXMLSignatureResponseBuilder {
}
ResponseBuilderUtils.addCodeInfoElement(responseDoc, responseElem, elementName, checkResult.getCode(), info);
+
}
/**