package at.gv.egiz.asic.impl.verifier; import at.gv.egiz.asic.api.ASiC; import at.gv.egiz.asic.api.ASiCEntry; import at.gv.egiz.asic.api.ASiCFormat; import at.gv.egiz.asic.api.ASiCVerificationResult; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.api.SPSSFactory; import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; 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.server.invoke.CMSSignatureVerificationInvoker; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * Created by Andreas Fitzek on 6/17/16. */ public class SimpleCAdESVerifier extends CAdESVerifier { @Override public boolean handles(ASiC asic) { return super.handles(asic) && ASiCFormat.ASiCS.equals(asic.getFormat()); } @Override public void verify(ASiC asic, String trustProfileID, Date date, List response) throws MOAException { ASiCEntry cadesSignature = asic.getSignaturesEntries().get(0); //get first element ASiCEntry dataEntry = asic.getDataEntries().iterator().next(); List signedFiles = new ArrayList(); signedFiles.add(dataEntry.getEntryName()); VerifyCMSSignatureResponse verifyResponse = this.runCMSVerification(dataEntry.getContents(), cadesSignature.getContents(), trustProfileID, date); response.add(new ASiCVerificationResult(signedFiles, verifyResponse)); } }