aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api
diff options
context:
space:
mode:
authorAndreas Fitzek <andreas.fitzek@iaik.tugraz.at>2016-06-15 08:41:10 +0200
committerAndreas Fitzek <andreas.fitzek@iaik.tugraz.at>2016-06-15 08:41:10 +0200
commitacf1b849ab835bc6797adfb91f8ab4fa88f0aff5 (patch)
tree825c5c033f0a104dad27abc25cf3be3a481a8dd8 /moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api
parent606fd125e82b532f2e75dc787edb1f535dacfae9 (diff)
downloadmoa-sig-acf1b849ab835bc6797adfb91f8ab4fa88f0aff5.tar.gz
moa-sig-acf1b849ab835bc6797adfb91f8ab4fa88f0aff5.tar.bz2
moa-sig-acf1b849ab835bc6797adfb91f8ab4fa88f0aff5.zip
extended validation result
Diffstat (limited to 'moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api')
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/SPSSFactory.java7
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java3
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/common/ExtendedCertificateCheckResult.java33
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ExtendedCertificateCheckResultImpl.java44
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java8
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java12
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java12
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java36
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java4
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyPDFSignatureResponseBuilder.java4
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java5
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java3
12 files changed, 166 insertions, 5 deletions
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/SPSSFactory.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/SPSSFactory.java
index c6a750e..2d19871 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/SPSSFactory.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/SPSSFactory.java
@@ -45,6 +45,7 @@ import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse;
import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement;
import at.gv.egovernment.moa.spss.api.common.CheckResult;
import at.gv.egovernment.moa.spss.api.common.Content;
+import at.gv.egovernment.moa.spss.api.common.ExtendedCertificateCheckResult;
import at.gv.egovernment.moa.spss.api.common.MetaInfo;
import at.gv.egovernment.moa.spss.api.common.SignerInfo;
import at.gv.egovernment.moa.spss.api.common.Transform;
@@ -576,7 +577,8 @@ public abstract class SPSSFactory {
SignerInfo signerInfo,
CheckResult signatureCheck,
CheckResult certificateCheck,
- List adesResult);
+ List adesResult,
+ ExtendedCertificateCheckResult extendedCertificateCheckResult);
//
// Factory methods for verifying XML signatures
@@ -866,7 +868,8 @@ public abstract class SPSSFactory {
ReferencesCheckResult signatureManifestCheck,
List xmlDsigManifestChecks,
CheckResult certificateCheck,
- List adesFormResults);
+ List adesFormResults,
+ ExtendedCertificateCheckResult extCheckResult);
/**
* Create a new <code>ReferencesCheckResult</code> object.
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java
index 8579a2f..6b08471 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java
@@ -27,6 +27,7 @@ package at.gv.egovernment.moa.spss.api.cmsverify;
import java.util.List;
import at.gv.egovernment.moa.spss.api.common.CheckResult;
+import at.gv.egovernment.moa.spss.api.common.ExtendedCertificateCheckResult;
import at.gv.egovernment.moa.spss.api.common.SignerInfo;
/**
@@ -64,4 +65,6 @@ public interface VerifyCMSSignatureResponseElement {
* @return The result of the AdES Form validation
*/
public List getAdESFormResults();
+
+ public ExtendedCertificateCheckResult getExtendedCertificateCheck();
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/common/ExtendedCertificateCheckResult.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/common/ExtendedCertificateCheckResult.java
new file mode 100644
index 0000000..494b216
--- /dev/null
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/common/ExtendedCertificateCheckResult.java
@@ -0,0 +1,33 @@
+package at.gv.egovernment.moa.spss.api.common;
+
+import org.w3c.dom.NodeList;
+
+public interface ExtendedCertificateCheckResult {
+ /**
+ * Gets the result code.
+ *
+ * @return The result code.
+ */
+ public int getMajorCode();
+
+ /**
+ * Gets descriptive information.
+ *
+ * @return Descriptive information.
+ */
+ public String getMajorInfo();
+
+ /**
+ * Gets the result code.
+ *
+ * @return The result code.
+ */
+ public int getMinorCode();
+
+ /**
+ * Gets descriptive information.
+ *
+ * @return Descriptive information.
+ */
+ public String getMinorInfo();
+}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ExtendedCertificateCheckResultImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ExtendedCertificateCheckResultImpl.java
new file mode 100644
index 0000000..f36760c
--- /dev/null
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ExtendedCertificateCheckResultImpl.java
@@ -0,0 +1,44 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.ExtendedCertificateCheckResult;
+
+public class ExtendedCertificateCheckResultImpl implements ExtendedCertificateCheckResult {
+ private int majorCode;
+ private String majorInfo;
+
+ private int minorCode;
+ private String minorInfo;
+
+ public ExtendedCertificateCheckResultImpl(int majorCode, String majorInfo) {
+ this(majorCode, majorInfo, -1, "");
+ }
+
+ public ExtendedCertificateCheckResultImpl(int majorCode, String majorInfo,
+ int minorCode, String minorInfo) {
+ this.majorCode = majorCode;
+ this.majorInfo = majorInfo;
+ this.minorCode = minorCode;
+ this.minorInfo = minorInfo;
+ }
+
+ @Override
+ public int getMajorCode() {
+ return this.majorCode;
+ }
+
+ @Override
+ public String getMajorInfo() {
+ return this.majorInfo;
+ }
+
+ @Override
+ public int getMinorCode() {
+ return this.minorCode;
+ }
+
+ @Override
+ public String getMinorInfo() {
+ return this.minorInfo;
+ }
+
+}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java
index 9719c29..4781b8d 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java
@@ -45,6 +45,7 @@ import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse;
import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement;
import at.gv.egovernment.moa.spss.api.common.CheckResult;
import at.gv.egovernment.moa.spss.api.common.Content;
+import at.gv.egovernment.moa.spss.api.common.ExtendedCertificateCheckResult;
import at.gv.egovernment.moa.spss.api.common.MetaInfo;
import at.gv.egovernment.moa.spss.api.common.SignerInfo;
import at.gv.egovernment.moa.spss.api.common.Transform;
@@ -279,12 +280,14 @@ public class SPSSFactoryImpl extends SPSSFactory {
}
public VerifyCMSSignatureResponseElement createVerifyCMSSignatureResponseElement(SignerInfo signerInfo,
- CheckResult signatureCheck, CheckResult certificateCheck, List adesResult) {
+ CheckResult signatureCheck, CheckResult certificateCheck, List adesResult,
+ ExtendedCertificateCheckResult extendedCertificateCheckResult) {
VerifyCMSSignatureResponseElementImpl verifyCMSSignatureResponseElement = new VerifyCMSSignatureResponseElementImpl();
verifyCMSSignatureResponseElement.setSignerInfo(signerInfo);
verifyCMSSignatureResponseElement.setSignatureCheck(signatureCheck);
verifyCMSSignatureResponseElement.setCertificateCheck(certificateCheck);
verifyCMSSignatureResponseElement.setAdESFormResults(adesResult);
+ verifyCMSSignatureResponseElement.setExtendedCertificateCheck(extendedCertificateCheckResult);
return verifyCMSSignatureResponseElement;
}
@@ -375,7 +378,7 @@ public class SPSSFactoryImpl extends SPSSFactory {
public VerifyXMLSignatureResponse createVerifyXMLSignatureResponse(SignerInfo signerInfo, List hashInputDatas,
List referenceInputDatas, ReferencesCheckResult signatureCheck,
ReferencesCheckResult signatureManifestCheck, List xmlDsigManifestChecks, CheckResult certificateCheck,
- List adesFormResults) {
+ List adesFormResults, ExtendedCertificateCheckResult extCheckResult) {
VerifyXMLSignatureResponseImpl verifyXMLSignatureResponse = new VerifyXMLSignatureResponseImpl();
verifyXMLSignatureResponse.setSignerInfo(signerInfo);
verifyXMLSignatureResponse.setHashInputDatas(hashInputDatas);
@@ -385,6 +388,7 @@ public class SPSSFactoryImpl extends SPSSFactory {
verifyXMLSignatureResponse.setXMLDsigManifestChecks(xmlDsigManifestChecks);
verifyXMLSignatureResponse.setCertificateCheck(certificateCheck);
verifyXMLSignatureResponse.setAdESFormResults(adesFormResults);
+ verifyXMLSignatureResponse.setExtendedCertificateCheck(extCheckResult);
return verifyXMLSignatureResponse;
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java
index 3d6b72a..9b7881c 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java
@@ -28,6 +28,7 @@ import java.util.List;
import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement;
import at.gv.egovernment.moa.spss.api.common.CheckResult;
+import at.gv.egovernment.moa.spss.api.common.ExtendedCertificateCheckResult;
import at.gv.egovernment.moa.spss.api.common.SignerInfo;
/**
@@ -46,6 +47,8 @@ public class VerifyCMSSignatureResponseElementImpl
/** Information about the certificate check. */
private CheckResult certificateCheck;
+ private ExtendedCertificateCheckResult extendedResult;
+
private List adesResults = null;
/**
@@ -94,5 +97,14 @@ public class VerifyCMSSignatureResponseElementImpl
public List getAdESFormResults() {
return adesResults;
}
+
+ public void setExtendedCertificateCheck(ExtendedCertificateCheckResult r) {
+ this.extendedResult = r;
+ }
+
+ @Override
+ public ExtendedCertificateCheckResult getExtendedCertificateCheck() {
+ return extendedResult;
+ }
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java
index bfee774..60ac3be 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java
@@ -28,6 +28,7 @@ import java.util.Collections;
import java.util.List;
import at.gv.egovernment.moa.spss.api.common.CheckResult;
+import at.gv.egovernment.moa.spss.api.common.ExtendedCertificateCheckResult;
import at.gv.egovernment.moa.spss.api.common.SignerInfo;
import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult;
import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse;
@@ -40,6 +41,8 @@ public class VerifyXMLSignatureResponseImpl implements VerifyXMLSignatureRespons
/** Information about the signer certificate. */
private SignerInfo signerInfo;
+
+ private ExtendedCertificateCheckResult extendedResult;
/**
* The hash input data objects. The list consists of
@@ -177,4 +180,13 @@ public class VerifyXMLSignatureResponseImpl implements VerifyXMLSignatureRespons
return this.adesFormResults;
}
+ public void setExtendedCertificateCheck(ExtendedCertificateCheckResult r) {
+ this.extendedResult = r;
+ }
+
+ @Override
+ public ExtendedCertificateCheckResult getExtendedCertificateCheck() {
+ return extendedResult;
+ }
+
}
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 a6ed83d..193ea33 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
@@ -41,6 +41,7 @@ import iaik.utils.RFC2253NameParser;
import iaik.utils.RFC2253NameParserException;
import at.gv.egovernment.moa.spss.MOAApplicationException;
import at.gv.egovernment.moa.spss.MOASystemException;
+import at.gv.egovernment.moa.spss.api.common.ExtendedCertificateCheckResult;
import at.gv.egovernment.moaspss.util.Base64Utils;
import at.gv.egovernment.moaspss.util.Constants;
@@ -284,6 +285,41 @@ public class ResponseBuilderUtils {
root.appendChild(codeInfoElem);
}
+ public static void addExtendendResult(Document response,
+ Element root,
+ ExtendedCertificateCheckResult result) {
+ Element extElem = response.createElementNS(MOA_NS_URI, "ExtendedCertificateCheck");
+
+ Element extMajorElem = response.createElementNS(MOA_NS_URI, "Major");
+
+ Element codeMajorCodeElem = response.createElementNS(MOA_NS_URI, "Code");
+ Element codeMajorNameElem = response.createElementNS(MOA_NS_URI, "Name");
+ codeMajorCodeElem.appendChild(response.createTextNode(Integer.toString(
+ result.getMajorCode())));
+ codeMajorNameElem.appendChild(response.createTextNode(result.getMajorInfo()));
+
+ extMajorElem.appendChild(codeMajorCodeElem);
+ extMajorElem.appendChild(codeMajorNameElem);
+
+ extElem.appendChild(extMajorElem);
+
+ if(result.getMinorCode() >= 0) {
+ Element extMinorElem = response.createElementNS(MOA_NS_URI, "Minor");
+ Element codeMinorCodeElem = response.createElementNS(MOA_NS_URI, "Code");
+ Element codeMinorNameElem = response.createElementNS(MOA_NS_URI, "Name");
+ codeMinorCodeElem.appendChild(response.createTextNode(Integer.toString(
+ result.getMinorCode())));
+ codeMinorNameElem.appendChild(response.createTextNode(result.getMinorInfo()));
+
+ extMinorElem.appendChild(codeMinorCodeElem);
+ extMinorElem.appendChild(codeMinorNameElem);
+
+ extElem.appendChild(extMinorElem);
+ }
+
+ root.appendChild(extElem);
+ }
+
/**
* Add an element containing <code>Code</code> and <code>Info</code>
* subelements.
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 cefecac..6c4667b 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
@@ -140,6 +140,10 @@ public class VerifyCMSSignatureResponseBuilder {
}
}
+ if(responseElement.getExtendedCertificateCheck() != null) {
+ ResponseBuilderUtils.addExtendendResult(responseDoc, responseElem, responseElement.getExtendedCertificateCheck());
+ }
+
}
}
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 cc44c29..1826ffc 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
@@ -140,6 +140,10 @@ public class VerifyPDFSignatureResponseBuilder {
}
}
+ if(responseElement.getExtendedCertificateCheck() != null) {
+ ResponseBuilderUtils.addExtendendResult(responseDoc, responseElem, responseElement.getExtendedCertificateCheck());
+ }
+
}
}
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 2109b35..5329861 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
@@ -149,6 +149,11 @@ public class VerifyXMLSignatureResponseBuilder {
}
}
+
+ if(response.getExtendedCertificateCheck() != null) {
+ ResponseBuilderUtils.addExtendendResult(responseDoc, responseElem, response.getExtendedCertificateCheck());
+ }
+
return responseDoc;
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java
index 63c496a..0ed12bf 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java
@@ -27,6 +27,7 @@ package at.gv.egovernment.moa.spss.api.xmlverify;
import java.util.List;
import at.gv.egovernment.moa.spss.api.common.CheckResult;
+import at.gv.egovernment.moa.spss.api.common.ExtendedCertificateCheckResult;
import at.gv.egovernment.moa.spss.api.common.SignerInfo;
/**
@@ -90,5 +91,5 @@ public interface VerifyXMLSignatureResponse {
*/
public List getAdESFormResults();
-
+ public ExtendedCertificateCheckResult getExtendedCertificateCheck();
}