package at.gv.egovernment.moa.spss.server.invoke; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.api.Configurator; import at.gv.egovernment.moa.spss.api.SignatureVerificationService; 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.xmlverify.VerifyXMLSignatureRequest; import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; /** * An implementation of the SignatureVerificationService using * the XMLSignatureVerificationInvoker and the * CMSSignatureVerificationInvoker. * * @author Patrick Peck * @version $Id$ */ public class SignatureVerificationServiceImpl extends SignatureVerificationService { /** * Verify a CMS signature. * * @param request The VerifyCMSSignatureRequest containing * information about the signature verification. * @return The result of the signature verification. * @throws MOAException An error occurred during signature verification. */ public VerifyCMSSignatureResponse verifyCMSSignature(VerifyCMSSignatureRequest request) throws MOAException { CMSSignatureVerificationInvoker invoker = CMSSignatureVerificationInvoker.getInstance(); VerifyCMSSignatureResponse response; try { Configurator.getInstance().init(); ServiceContextUtils.setUpContexts(); response = invoker.verifyCMSSignature(request); return response; } finally { ServiceContextUtils.tearDownContexts(); } } /** * Verify an XML signature. * * @param request The VerifyXMLSignatureRequest containinig * information about the signature verification. * @return The result of the signature verification. * @throws MOAException An error occurred during signature verification. */ public VerifyXMLSignatureResponse verifyXMLSignature(VerifyXMLSignatureRequest request) throws MOAException { XMLSignatureVerificationInvoker invoker = XMLSignatureVerificationInvoker.getInstance(); VerifyXMLSignatureResponse response; try { Configurator.getInstance().init(); ServiceContextUtils.setUpContexts(); response = invoker.verifyXMLSignature(request); return response; } finally { ServiceContextUtils.tearDownContexts(); } } }