package at.gv.egiz.asic.impl.verifier; import at.gv.egiz.asic.api.ASiC; 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.io.InputStream; import java.util.Date; /** * Created by Andreas Fitzek on 6/17/16. */ public abstract class CAdESVerifier extends BaseVerifier { @Override public boolean handles(ASiC asic) { return asic.isCAdES(); } protected VerifyCMSSignatureResponse runCMSVerification(InputStream signedData, InputStream cmsSignature, String trustProfileID, Date date) throws MOAException { CMSContent cmsContent = SPSSFactory.getInstance().createCMSContent(signedData); CMSDataObject cmsDataObject = SPSSFactory.getInstance().createCMSDataObject(null, cmsContent, null, null); VerifyCMSSignatureRequest verifyCMSSignatureRequest = SPSSFactory.getInstance().createVerifyCMSSignatureRequest( VerifyCMSSignatureRequest.ALL_SIGNATORIES, date, cmsSignature, cmsDataObject, trustProfileID, false, true); VerifyCMSSignatureResponse verifyResponse = CMSSignatureVerificationInvoker.getInstance().verifyCMSSignature( verifyCMSSignatureRequest); return verifyResponse; } }