aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java
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/server/invoke/CMSSignatureVerificationInvoker.java
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/server/invoke/CMSSignatureVerificationInvoker.java')
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java47
1 files changed, 33 insertions, 14 deletions
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java
index f5d2826..ba0474c 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java
@@ -41,6 +41,7 @@ import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentReference;
import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject;
import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest;
import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse;
+import at.gv.egovernment.moa.spss.api.common.ExtendedCertificateCheckResult;
import at.gv.egovernment.moa.spss.server.config.TrustProfile;
import at.gv.egovernment.moa.spss.server.logging.IaikLog;
import at.gv.egovernment.moa.spss.server.logging.TransactionId;
@@ -258,15 +259,13 @@ public class CMSSignatureVerificationInvoker {
CMSSignatureVerificationResult cmsResult = null;
List adesResults = null;
+ ExtendedCertificateCheckResult extCheckResult = null;
if (resultObject instanceof ExtendedCMSSignatureVerificationResult) {
Logger.info("Got ExtendedCMSSignatureVerificationResult");
ExtendedCMSSignatureVerificationResult result = (ExtendedCMSSignatureVerificationResult) resultObject;
cmsResult = result.getCMSSignatureVerificationResult();
- try {
- adesResults = getAdESResult(result);
- } catch (ConfigurationException e) {
- Logger.warn("Failed to provide extended validation results: " + e.getMessage());
- }
+ adesResults = AdESResultUtils.getAdESResult(result.getFormVerificationResult());
+
if (adesResults != null) {
Iterator adesIterator = adesResults.iterator();
@@ -274,6 +273,17 @@ public class CMSSignatureVerificationInvoker {
Logger.info("ADES Formresults: " + adesIterator.next().toString());
}
}
+ try {
+ //Logger.info("Extended Validation Report: " + result.getName());
+ Logger.info("Extended Validation Code: " + result.getResultCode().toString());
+ Logger.info("Extended Validation Info: " + result.getInfo());
+
+ extCheckResult = AdESResultUtils.getExtendedResult(result.getResultCode());
+ } catch (ConfigurationException e) {
+ Logger.warn("Cannot generate Extendend Result. Check SVA Configuration!", e);
+ } catch (NullPointerException e) {
+ Logger.info("No extendend validation result available.");
+ }
} else {
Logger.info("Got CMSSignatureVerificationResult");
cmsResult = (CMSSignatureVerificationResult) resultObject;
@@ -302,7 +312,7 @@ public class CMSSignatureVerificationInvoker {
}
responseBuilder.addResult(cmsResult, trustProfile, qcsscdresult.isQC(), qcsscdresult.isQCSourceTSL(),
- qcsscdresult.isSSCD(), qcsscdresult.isSSCDSourceTSL(), issuerCountryCode, adesResults);
+ qcsscdresult.isSSCD(), qcsscdresult.isSSCDSourceTSL(), issuerCountryCode, adesResults, extCheckResult);
}
private void handlePDFResult(Object resultObject, VerifyCMSSignatureResponseBuilder responseBuilder,
@@ -316,17 +326,14 @@ public class CMSSignatureVerificationInvoker {
PDFSignatureVerificationResult cmsResult = null;
List adesResults = null;
+
+ ExtendedCertificateCheckResult extCheckResult = null;
if (resultObject instanceof ExtendedPDFSignatureVerificationResult) {
Logger.info("Got ExtendedPDFSignatureVerificationResult");
ExtendedPDFSignatureVerificationResult result = (ExtendedPDFSignatureVerificationResult) resultObject;
cmsResult = result.getPDFSignatureVerificationResult();
- try {
- adesResults = getAdESResult(result);
- } catch (ConfigurationException e) {
- Logger.warn("Failed to provide extended validation results", e);
- //throw new MOARuntimeException("config.52", null);
- }
-
+ adesResults = AdESResultUtils.getAdESResult(result.getFormVerificationResult());
+
if (adesResults != null) {
Iterator adesIterator = adesResults.iterator();
while (adesIterator.hasNext()) {
@@ -334,6 +341,17 @@ public class CMSSignatureVerificationInvoker {
}
}
cmsResult = result.getPDFSignatureVerificationResult();
+ try {
+ //Logger.info("Extended Validation Report: " + result.getName());
+ Logger.info("Extended Validation Code: " + result.getResultCode().toString());
+ Logger.info("Extended Validation Info: " + result.getInfo());
+
+ extCheckResult = AdESResultUtils.getExtendedResult(result.getResultCode());
+ } catch (ConfigurationException e) {
+ Logger.warn("Cannot generate Extendend Result. Check SVA Configuration!", e);
+ } catch (NullPointerException e) {
+ Logger.info("No extendend validation result available.");
+ }
} else {
Logger.info("Got PDFSignatureVerificationResult");
cmsResult = (PDFSignatureVerificationResult) resultObject;
@@ -361,7 +379,8 @@ public class CMSSignatureVerificationInvoker {
}
responseBuilder.addResult(cmsResult, trustProfile, qcsscdresult.isQC(), qcsscdresult.isQCSourceTSL(),
- qcsscdresult.isSSCD(), qcsscdresult.isSSCDSourceTSL(), issuerCountryCode, adesResults);
+ qcsscdresult.isSSCD(), qcsscdresult.isSSCDSourceTSL(), issuerCountryCode, adesResults,
+ extCheckResult);
}
/**