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();
}
}
}