aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java
diff options
context:
space:
mode:
Diffstat (limited to 'moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java')
-rw-r--r--moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java101
1 files changed, 38 insertions, 63 deletions
diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java
index 51392da..1ae32ed 100644
--- a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java
+++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/ASiCMOAVerifier.java
@@ -1,87 +1,62 @@
package at.gv.egiz.asic.impl;
-import at.gv.egiz.asic.ASiCManifestType;
-import at.gv.egiz.asic.DataObjectReferenceType;
-import at.gv.egiz.asic.ReferenceType;
-import at.gv.egiz.asic.XAdESSignaturesType;
-import at.gv.egiz.asic.api.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egiz.asic.api.ASiC;
+import at.gv.egiz.asic.api.ASiCVerificationResult;
+import at.gv.egiz.asic.api.ASiCVerifier;
import at.gv.egiz.asic.impl.verifier.ExtendedCAdESVerifier;
import at.gv.egiz.asic.impl.verifier.ExtendedXAdESVerifier;
import at.gv.egiz.asic.impl.verifier.SimpleCAdESVerifier;
import at.gv.egiz.asic.impl.verifier.SimpleXAdESVerifier;
-import at.gv.egovernment.moa.spss.MOAApplicationException;
import at.gv.egovernment.moa.spss.MOAException;
-import at.gv.egovernment.moa.spss.MOARuntimeException;
import at.gv.egovernment.moa.spss.MOASystemException;
-import at.gv.egovernment.moa.spss.api.SPSSFactory;
-import at.gv.egovernment.moa.spss.api.cmsverify.*;
-import at.gv.egovernment.moa.spss.api.common.*;
-import at.gv.egovernment.moa.spss.api.impl.SPSSFactoryImpl;
-import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest;
-import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker;
-import at.gv.egovernment.moa.spss.server.invoke.VerifyCMSSignatureResponseBuilder;
-import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker;
-import iaik.server.cmspdfverify.CertificateValidationResult;
-import org.apache.commons.codec.binary.Hex;
-import org.apache.commons.io.IOUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.xml.bind.DataBindingException;
-import javax.xml.bind.JAXB;
-import javax.xml.crypto.dsig.Reference;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.DigestInputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.security.cert.X509Certificate;
-import java.util.*;
/**
* Created by Andreas Fitzek on 6/15/16.
*/
public class ASiCMOAVerifier implements ASiCVerifier {
- private static final Logger logger = LoggerFactory.getLogger(ASiCMOAVerifier.class);
+ private static final Logger logger = LoggerFactory.getLogger(ASiCMOAVerifier.class);
- private List<Verifier> verifierMap = new ArrayList<Verifier>();
+ private final List<Verifier> verifierMap = new ArrayList<>();
- public ASiCMOAVerifier() {
- verifierMap.add(new SimpleCAdESVerifier());
- verifierMap.add(new SimpleXAdESVerifier());
- verifierMap.add(new ExtendedCAdESVerifier());
- verifierMap.add(new ExtendedXAdESVerifier());
- }
+ public ASiCMOAVerifier() {
+ verifierMap.add(new SimpleCAdESVerifier());
+ verifierMap.add(new SimpleXAdESVerifier());
+ verifierMap.add(new ExtendedCAdESVerifier());
+ verifierMap.add(new ExtendedXAdESVerifier());
+ }
- @Override
- public List<ASiCVerificationResult> verify(ASiC asic, String trustProfileID, Date date) throws MOAException {
- List<ASiCVerificationResult> response = new ArrayList<ASiCVerificationResult>();
- boolean handled = false;
+ @Override
+ public List<ASiCVerificationResult> verify(ASiC asic, String trustProfileID, Date date)
+ throws MOAException {
+ final List<ASiCVerificationResult> response = new ArrayList<>();
+ boolean handled = false;
- Iterator<Verifier> verifierIterator = verifierMap.iterator();
+ final Iterator<Verifier> verifierIterator = verifierMap.iterator();
- while (verifierIterator.hasNext()) {
- Verifier verifier = verifierIterator.next();
- if (verifier.handles(asic)) {
- verifier.verify(asic, trustProfileID, date, response);
- handled = true;
- break;
- }
- }
-
- if (!handled) {
- logger.warn("Cannot handle ASiC: {}", asic);
- throw new MOASystemException("asic.0016", null);
- }
+ while (verifierIterator.hasNext()) {
+ final Verifier verifier = verifierIterator.next();
+ if (verifier.handles(asic)) {
+ verifier.verify(asic, trustProfileID, date, response);
+ handled = true;
+ break;
+ }
+ }
- return response;
+ if (!handled) {
+ logger.warn("Cannot handle ASiC: {}", asic);
+ throw new MOASystemException("asic.0016", null);
}
+ return response;
+ }
}