diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2015-11-05 14:01:45 +0100 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2015-11-05 14:01:45 +0100 |
commit | 6c09d652d6317d1514924518c3186470498247a9 (patch) | |
tree | 02347bacaf505431c03cda6accc1316307bc3729 /moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind | |
parent | 0872d2d8a64fd701776b272f49222428d8def07f (diff) | |
download | moa-sig-6c09d652d6317d1514924518c3186470498247a9.tar.gz moa-sig-6c09d652d6317d1514924518c3186470498247a9.tar.bz2 moa-sig-6c09d652d6317d1514924518c3186470498247a9.zip |
PDF-AS integration, AdES Form validation results from IAIK-MOA, for XAdES
Diffstat (limited to 'moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind')
2 files changed, 50 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 b5ec20f..eaafe00 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 @@ -286,4 +286,37 @@ public class ResponseBuilderUtils { root.appendChild(codeInfoElem); } + /** + * Add an element containing <code>Code</code> and <code>Info</code> + * subelements. + * + * @param response The response document, in order to create new elements in + * it. + * @param root The root element into which to insert the newly created + * element. + * @param elementName The name of the newly created element. + * @param code The content of the <code>Code</code> subelement. + * @param info The content of the <code>Info</code> subelement. + */ + public static void addFormCheckElement( + Document response, + Element root, + String elementName, + int code, + String name) { + + Element codeInfoElem = response.createElementNS(MOA_NS_URI, elementName); + Element codeElem = response.createElementNS(MOA_NS_URI, "Code"); + Element infoElem; + + codeElem.appendChild(response.createTextNode(Integer.toString(code))); + codeInfoElem.appendChild(codeElem); + + infoElem = response.createElementNS(MOA_NS_URI, "Name"); + infoElem.appendChild(response.createTextNode(name)); + codeInfoElem.appendChild(infoElem); + + root.appendChild(codeInfoElem); + } + } 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 dd4e13a..27a42c8 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 @@ -42,6 +42,7 @@ import at.gv.egovernment.moa.spss.api.common.Content; import at.gv.egovernment.moa.spss.api.common.ContentBinary; import at.gv.egovernment.moa.spss.api.common.ContentXML; import at.gv.egovernment.moa.spss.api.common.InputData; +import at.gv.egovernment.moa.spss.api.xmlverify.AdESFormResults; import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult; import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult; import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; @@ -150,6 +151,22 @@ public class VerifyXMLSignatureResponseBuilder { response.getCertificateCheck().getInfo()); + if(response.getAdESFormResults() != null) { + + Iterator formIterator = response.getAdESFormResults().iterator(); + + while(formIterator.hasNext()) { + AdESFormResults adESFormResult = (AdESFormResults)formIterator.next(); + // add the CertificateCheck + ResponseBuilderUtils.addFormCheckElement( + responseDoc, + responseElem, + "FormCheckResult", + adESFormResult.getCode().intValue(), + adESFormResult.getName()); + + } + } return responseDoc; } |