package at.gv.egiz.asic.impl.verifier; import java.util.ArrayList; import java.util.Date; import java.util.List; 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.egiz.asic.impl.AsicSignedFilesContainer; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; /** * 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 { final ASiCEntry cadesSignature = asic.getSignaturesEntries().get(0); // get first element final ASiCEntry dataEntry = asic.getDataEntries().iterator().next(); final List signedFiles = new ArrayList<>(); signedFiles.add(new AsicSignedFilesContainer(dataEntry.getEntryName(), null)); final VerifyCMSSignatureResponse verifyResponse = this.runCMSVerification(dataEntry.getContents(), cadesSignature.getContents(), trustProfileID, date); response.add(new ASiCVerificationResult(signedFiles, verifyResponse)); } }