From 84293bd12f63b59852026cab02035fc9ebee626a Mon Sep 17 00:00:00 2001 From: Andreas Fitzek Date: Mon, 14 Mar 2016 16:29:03 +0100 Subject: A lot of moa sig stuff --- .../webservice/PDFVerifySignatureBinding.java | 15 -- .../webservice/SignatureCreationService.java | 4 +- .../server/webservice/binding/CMSParserUtils.java | 2 +- .../binding/CMSVerifySignatureBindingImpl.java | 4 +- .../binding/PDFCreateSignatureBindingImpl.java | 1 - .../binding/PDFVerifySignatureBindingImpl.java | 25 --- .../server/webservice/binding/TransformParser.java | 6 +- .../binding/XMLCreateSignatureBindingImpl.java | 2 +- .../binding/XMLVerifySignatureBindingImpl.java | 29 ++- .../server/webservice/impl/ContextSetupAspect.java | 104 ---------- .../impl/SignatureCreationServiceImpl.java | 190 ------------------ .../impl/SignatureVerificationServiceImpl.java | 215 --------------------- .../webservice/impl/SimpleCXFNonSpringServlet.java | 28 --- 13 files changed, 34 insertions(+), 591 deletions(-) delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/PDFVerifySignatureBinding.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFVerifySignatureBindingImpl.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/ContextSetupAspect.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SignatureCreationServiceImpl.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SignatureVerificationServiceImpl.java delete mode 100644 moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SimpleCXFNonSpringServlet.java (limited to 'moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice') diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/PDFVerifySignatureBinding.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/PDFVerifySignatureBinding.java deleted file mode 100644 index 6c6a89a..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/PDFVerifySignatureBinding.java +++ /dev/null @@ -1,15 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice; - -import at.gv.egiz.moasig.VerifyPDFSignatureRequest; -import at.gv.egiz.moasig.VerifyPDFSignatureResponseType; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFRequest; -import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFResponse; - -public interface PDFVerifySignatureBinding { - public VerifyPDFRequest buildPDFRequest( - VerifyPDFSignatureRequest createCMSSignatureRequest) throws MOAApplicationException; - - public VerifyPDFSignatureResponseType buildPDFResponse(VerifyPDFResponse response) - throws MOAApplicationException; -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureCreationService.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureCreationService.java index 5162f55..ccfc3fc 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureCreationService.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/SignatureCreationService.java @@ -17,8 +17,8 @@ public interface SignatureCreationService { @WebParam(name = "CreateCMSSignatureRequest") at.gv.egiz.moasig.CreateCMSSignatureRequest createCMSSignatureRequest) throws Exception; - @WebMethod(action = "PDFSignatureCreate", operationName = "PDFSignatureCreate") + /*@WebMethod(action = "PDFSignatureCreate", operationName = "PDFSignatureCreate") public at.gv.egiz.moasig.CreatePDFSignatureResponseType createPDFSignature( @WebParam(name = "CreatePDFSignatureRequest") at.gv.egiz.moasig.CreatePDFSignatureRequest createPDFSignatureRequest) - throws Exception; + throws Exception;*/ } diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java index 9512761..3bfe2f5 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java @@ -13,7 +13,7 @@ import at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo; import at.gv.egovernment.moa.spss.api.cmssign.SingleSignatureInfo; import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; -import at.gv.egovernment.moa.util.Base64Utils; +import at.gv.egovernment.moaspss.util.Base64Utils; public class CMSParserUtils { diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java index 7a49d6a..1cfa806 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java @@ -25,7 +25,7 @@ import at.gv.egovernment.moa.spss.api.common.CheckResult; import at.gv.egovernment.moa.spss.api.common.SignerInfo; import at.gv.egovernment.moa.spss.api.xmlverify.AdESFormResults; import at.gv.egovernment.moa.spss.server.webservice.CMSVerifySignatureBinding; -import at.gv.egovernment.moa.util.CollectionUtils; +import at.gv.egovernment.moaspss.util.CollectionUtils; public class CMSVerifySignatureBindingImpl implements CMSVerifySignatureBinding { @@ -209,7 +209,7 @@ public class CMSVerifySignatureBindingImpl implements CMSVerifySignatureBinding public VerifyCMSSignatureRequest buildPDFRequest(VerifyPDFSignatureRequest verifyPDFSignatureRequest) throws MOAApplicationException { Date dateTime = null; - if (verifyPDFSignatureRequest.getDateTime() == null) { + if (verifyPDFSignatureRequest.getDateTime() != null) { dateTime = verifyPDFSignatureRequest.getDateTime().toGregorianCalendar().getTime(); } diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFCreateSignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFCreateSignatureBindingImpl.java index dfe3ce5..b16cce7 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFCreateSignatureBindingImpl.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFCreateSignatureBindingImpl.java @@ -7,7 +7,6 @@ import at.gv.egiz.moasig.CreatePDFSignatureRequest; import at.gv.egiz.moasig.CreatePDFSignatureResponseType; import at.gv.egiz.moasig.ErrorResponseType; import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; import at.gv.egovernment.moa.spss.server.webservice.PDFCreateSignatureBinding; import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFRequest; import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFRespone; diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFVerifySignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFVerifySignatureBindingImpl.java deleted file mode 100644 index 42301ad..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/PDFVerifySignatureBindingImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.binding; - -import at.gv.egiz.moasig.VerifyPDFSignatureRequest; -import at.gv.egiz.moasig.VerifyPDFSignatureResponseType; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.server.webservice.PDFVerifySignatureBinding; -import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFRequest; -import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFResponse; - -public class PDFVerifySignatureBindingImpl implements PDFVerifySignatureBinding { - - @Override - public VerifyPDFRequest buildPDFRequest(VerifyPDFSignatureRequest createCMSSignatureRequest) - throws MOAApplicationException { - // TODO Auto-generated method stub - return null; - } - - @Override - public VerifyPDFSignatureResponseType buildPDFResponse(VerifyPDFResponse response) throws MOAApplicationException { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformParser.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformParser.java index cd10260..1d05f22 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformParser.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/TransformParser.java @@ -56,9 +56,9 @@ import at.gv.egovernment.moa.spss.api.common.XPathFilter; import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform; import at.gv.egovernment.moa.spss.api.common.XPathTransform; import at.gv.egovernment.moa.spss.api.common.XSLTTransform; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.XPathUtils; +import at.gv.egovernment.moaspss.util.Constants; +import at.gv.egovernment.moaspss.util.DOMUtils; +import at.gv.egovernment.moaspss.util.XPathUtils; /** * A parser to parse XMLDsig Transform DOM elements into their MOA diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLCreateSignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLCreateSignatureBindingImpl.java index d5d50cd..6656d51 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLCreateSignatureBindingImpl.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLCreateSignatureBindingImpl.java @@ -17,7 +17,7 @@ import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponseElement; import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; import at.gv.egovernment.moa.spss.server.webservice.XMLCreateSignatureBinding; -import at.gv.egovernment.moa.util.DOMUtils; +import at.gv.egovernment.moaspss.util.DOMUtils; public class XMLCreateSignatureBindingImpl implements XMLCreateSignatureBinding { diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java index 44dc2c2..dcc92f9 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java @@ -11,16 +11,21 @@ import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; +import javax.security.auth.login.FailedLoginException; +import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBElement; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerException; +import javax.xml.transform.dom.DOMResult; import org.apache.commons.io.IOUtils; import org.w3c.dom.Element; import org.w3c.dom.Node; import at.gv.egiz.moasig.MoaTransformsType; +import at.gv.egiz.moasig.NamespaceDeclarationType; import at.gv.egiz.moasig.PublicAuthorityType; import at.gv.egiz.moasig.QualifiedCertificate; import at.gv.egiz.moasig.SecureSignatureCreationDevice; @@ -28,6 +33,7 @@ import at.gv.egiz.moasig.TransformParameterType; import at.gv.egiz.moasig.TransformParameterType.Hash; import at.gv.egiz.moasig.VerifyXMLSignatureResponseType; import at.gv.egiz.moasig.XMLDataObjectAssociationType; +import at.gv.egiz.moasig.XMLSignatureLocationType; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.api.SPSSFactory; import at.gv.egovernment.moa.spss.api.common.Content; @@ -46,7 +52,7 @@ import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile; import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; import at.gv.egovernment.moa.spss.server.webservice.XMLVerifySignatureBinding; -import at.gv.egovernment.moa.util.DOMUtils; +import at.gv.egovernment.moaspss.util.DOMUtils; import iaik.utils.RFC2253NameParser; import iaik.utils.RFC2253NameParserException; @@ -264,11 +270,26 @@ public class XMLVerifySignatureBindingImpl implements XMLVerifySignatureBinding throws MOAApplicationException { Content verifySignatureEnvironment = transformerUtils .buildContent(verifySignatureInfo.getVerifySignatureEnvironment()); + + XMLSignatureLocationType xmlSignatureLocationType = verifySignatureInfo.getVerifySignatureLocation(); - String xPathExpression = verifySignatureInfo.getVerifySignatureLocation(); - + String xPathExpression = xmlSignatureLocationType.getXPathExpression(); + + Iterator namespaceDelcarationIterator = xmlSignatureLocationType.getNamespaceDeclaration().iterator(); + + Map namespaceMap = new HashMap(); + + while(namespaceDelcarationIterator.hasNext()) { + NamespaceDeclarationType namespaceDelcaration = namespaceDelcarationIterator.next(); + + String prefix = namespaceDelcaration.getPrefix(); + String namespace = namespaceDelcaration.getValue(); + + namespaceMap.put(prefix, namespace); + } + VerifySignatureLocation verifySignatureLocation = factory.createVerifySignatureLocation(xPathExpression, - new HashMap()); + namespaceMap); return factory.createVerifySignatureInfo(verifySignatureEnvironment, verifySignatureLocation); } diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/ContextSetupAspect.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/ContextSetupAspect.java deleted file mode 100644 index 42ffd5e..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/ContextSetupAspect.java +++ /dev/null @@ -1,104 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.impl; - -import java.security.cert.X509Certificate; - -import javax.servlet.http.HttpServletRequest; -import javax.xml.ws.handler.MessageContext; -import javax.xml.ws.handler.soap.SOAPMessageContext; - -import org.apache.cxf.transport.http.AbstractHTTPDestination; -import org.aspectj.lang.annotation.Aspect; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.logging.LoggingContext; -import at.gv.egovernment.moa.logging.LoggingContextManager; -import at.gv.egovernment.moa.spss.server.config.ConfigurationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator; - -@Aspect -public class ContextSetupAspect { - - private static final Logger logger = LoggerFactory.getLogger(ContextSetupAspect.class); - - /** The property name for accessing the X509 client certificate chain. */ - private static final String X509_CERTIFICATE_PROPERTY = "javax.servlet.request.X509Certificate"; - - /** The property name for accessing the SOAP action header. */ - private static final String SOAP_ACTION_HEADER = "soapaction"; - - /** - * Set up the thread-local contexts (TransactionContext and - * LoggingContext). - * - * @param context - * The TransactionContext to set for the current - * request. - */ - private static void setUpContexts(TransactionContext context) { - // set the transaction context in the TransactionContextManager - TransactionContextManager tcm = TransactionContextManager.getInstance(); - tcm.setTransactionContext(context); - - // set the logging context in the LoggingContextManager - LoggingContextManager lcm = LoggingContextManager.getInstance(); - LoggingContext lc = new LoggingContext(context.getTransactionID()); - lcm.setLoggingContext(lc); - } - - /** - * Tear down the thread-local contexts. - */ - private static void tearDownContexts() { - TransactionContextManager tcm = TransactionContextManager.getInstance(); - - // delete temporary files - TransactionContext context = tcm.getTransactionContext(); - context.cleanAttachmentCache(); - - // unset the transaction context - tcm.setTransactionContext(null); - - // unset the logging context - LoggingContextManager lcm = LoggingContextManager.getInstance(); - lcm.setLoggingContext(null); - } - - public static void setupContext(MessageContext messageContext, String targetService) throws ConfigurationException { - logger.debug("Context setup"); - - HttpServletRequest request = (HttpServletRequest) messageContext - .get(AbstractHTTPDestination.HTTP_REQUEST); - - X509Certificate[] clientCert = (X509Certificate[]) request.getAttribute(X509_CERTIFICATE_PROPERTY); - - ConfigurationProvider configuration = ConfigurationProvider.getInstance(); - - Element xmlRequest = null; - if (messageContext instanceof SOAPMessageContext) { - SOAPMessageContext soapMessageContext = (SOAPMessageContext) messageContext; - xmlRequest = soapMessageContext.getMessage().getSOAPPart().getDocumentElement(); - } - - TransactionContext context = new TransactionContext(TransactionIDGenerator.nextID(), clientCert, - configuration, xmlRequest, null); - - String soapAction = (String) request.getHeader(SOAP_ACTION_HEADER); - if ("\"\"".equals(soapAction)) { - // if http soap action header is empty - soapAction = targetService; - } - context.setRequestName(soapAction); - - setUpContexts(context); - } - - public static void cleanContext() { - logger.debug("Context clean up"); - tearDownContexts(); - } -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SignatureCreationServiceImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SignatureCreationServiceImpl.java deleted file mode 100644 index 358b9d6..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SignatureCreationServiceImpl.java +++ /dev/null @@ -1,190 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.impl; - -import java.util.Collections; - -import javax.annotation.Resource; -import javax.jws.WebResult; -import javax.jws.WebService; -import javax.xml.ws.WebServiceContext; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import at.gv.egiz.moasig.CreateCMSSignatureRequest; -import at.gv.egiz.moasig.CreateCMSSignatureRequestType; -import at.gv.egiz.moasig.CreateCMSSignatureResponseType; -import at.gv.egiz.moasig.CreatePDFSignatureRequest; -import at.gv.egiz.moasig.CreatePDFSignatureRequestType; -import at.gv.egiz.moasig.CreatePDFSignatureResponseType; -import at.gv.egiz.moasig.CreateXMLSignatureRequest; -import at.gv.egiz.moasig.CreateXMLSignatureResponseType; -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureCreationInvoker; -import at.gv.egovernment.moa.spss.server.invoke.PDFASInvoker; -import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker; -import at.gv.egovernment.moa.spss.server.service.ServiceUtils; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.server.webservice.CMSCreateSignatureBinding; -import at.gv.egovernment.moa.spss.server.webservice.PDFCreateSignatureBinding; -import at.gv.egovernment.moa.spss.server.webservice.SignatureCreationService; -import at.gv.egovernment.moa.spss.server.webservice.XMLCreateSignatureBinding; -import at.gv.egovernment.moa.spss.server.webservice.binding.CMSCreateSignatureBindingImpl; -import at.gv.egovernment.moa.spss.server.webservice.binding.PDFCreateSignatureBindingImpl; -import at.gv.egovernment.moa.spss.server.webservice.binding.XMLCreateSignatureBindingImpl; -import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFRequest; -import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFRespone; -import at.gv.egovernment.moa.util.StreamUtils; - -@WebService(endpointInterface = "at.gv.egovernment.moa.spss.server.webservice.SignatureCreationService", portName = "SignatureCreationService", serviceName = "SignatureCreationService") -public class SignatureCreationServiceImpl implements SignatureCreationService { - - private static final Logger logger = LoggerFactory.getLogger(SignatureCreationServiceImpl.class); - - @Resource - private WebServiceContext context; - - private XMLCreateSignatureBinding xmlCreateSignatureBinding; - private CMSCreateSignatureBinding cmsCreateSignatureBinding; - private PDFCreateSignatureBinding pdfCreateSignatureBinding; - - public SignatureCreationServiceImpl() { - this.xmlCreateSignatureBinding = new XMLCreateSignatureBindingImpl(); - this.cmsCreateSignatureBinding = new CMSCreateSignatureBindingImpl(); - this.pdfCreateSignatureBinding = new PDFCreateSignatureBindingImpl(); - } - - @Override - @WebResult(name = "CreateXMLSignatureResponseType", targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20151109#") - public CreateXMLSignatureResponseType createXMLSignature(CreateXMLSignatureRequest createXMLSignatureRequest) - throws Exception { - logger.info("createXMLSignature start"); - try { - logger.info("WebServiceContext: {}", context); - ContextSetupAspect.setupContext(context.getMessageContext(), "createXMLSignature"); - - XMLSignatureCreationInvoker invoker = XMLSignatureCreationInvoker.getInstance(); - - at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest requestObj; - at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse responseObj; - - logger.trace(">>> preparsing Request"); - requestObj = this.xmlCreateSignatureBinding.buildXMLRequest(createXMLSignatureRequest); - logger.trace("<<< preparsed Request"); - - logger.trace(">>> creating Signature"); - // invoke the core logic - responseObj = invoker.createXMLSignature(requestObj, Collections.EMPTY_SET); - logger.trace("<<< created Signature"); - - logger.trace(">>> building Response"); - // map back to XML - CreateXMLSignatureResponseType response = this.xmlCreateSignatureBinding.buildXMLResponse(responseObj); - logger.trace("<<< built Response"); - - return response; - } catch (MOAException e) { - logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - logger.error("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:", e); - throw new Exception(e.getMessage()); - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - logger.error("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:", e); - throw new Exception(e.getMessage()); - } finally { - ContextSetupAspect.cleanContext(); - } - } - - @Override - @WebResult(name = "CreateCMSSignatureResponseType", targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20151109#") - public CreateCMSSignatureResponseType createCMSSignature(CreateCMSSignatureRequest createCMSSignatureRequest) - throws Exception { - logger.info("createCMSSignature start"); - try { - logger.info("WebServiceContext: {}", context); - ContextSetupAspect.setupContext(context.getMessageContext(), "createCMSSignature"); - - CMSSignatureCreationInvoker invoker = CMSSignatureCreationInvoker.getInstance(); - - at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureRequest requestObj; - at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse responseObj; - - logger.trace(">>> preparsing Request"); - requestObj = this.cmsCreateSignatureBinding.buildCMSRequest(createCMSSignatureRequest); - logger.trace("<<< preparsed Request"); - - logger.trace(">>> creating Signature"); - // invoke the core logic - responseObj = invoker.createCMSSignature(requestObj, Collections.EMPTY_SET); - logger.trace("<<< created Signature"); - - logger.trace(">>> building Response"); - // map back to XML - CreateCMSSignatureResponseType response = this.cmsCreateSignatureBinding.buildCMSResponse(responseObj); - logger.trace("<<< built Response"); - - return response; - - } catch (MOAException e) { - logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - logger.error("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:", e); - throw new Exception(e.getMessage()); - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - logger.error("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:", e); - throw new Exception(e.getMessage()); - } finally { - ContextSetupAspect.cleanContext(); - } - } - - @Override - @WebResult(name = "CreatePDFSignatureResponseType", targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20151109#") - public CreatePDFSignatureResponseType createPDFSignature(CreatePDFSignatureRequest createPDFSignatureRequest) - throws Exception { - logger.info("createPDFSignature start"); - try { - logger.info("WebServiceContext: {}", context); - ContextSetupAspect.setupContext(context.getMessageContext(), "createPDFSignature"); - - CreatePDFRequest requestObj; - CreatePDFRespone responseObj; - - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - - // convert to API objects - logger.trace(">>> preparsing Request"); - requestObj = this.pdfCreateSignatureBinding.buildPDFRequest(createPDFSignatureRequest); - logger.trace("<<< preparsed Request"); - - logger.trace(">>> creating Signature"); - // invoke the core logic - responseObj = PDFASInvoker.getInstance().createPDFSignature(requestObj, context.getTransactionID()); - logger.trace("<<< created Signature"); - - logger.trace(">>> building Response"); - // map back to XML - CreatePDFSignatureResponseType response = this.pdfCreateSignatureBinding.buildPDFResponse(responseObj); - logger.trace("<<< built Response"); - - return response; - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - logger.error("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:", e); - throw new Exception(e.getMessage()); - } finally { - ContextSetupAspect.cleanContext(); - } - } - -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SignatureVerificationServiceImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SignatureVerificationServiceImpl.java deleted file mode 100644 index cbc4d2d..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SignatureVerificationServiceImpl.java +++ /dev/null @@ -1,215 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.impl; - -import javax.annotation.Resource; -import javax.jws.WebResult; -import javax.jws.WebService; -import javax.xml.ws.WebServiceContext; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import at.gv.egiz.moasig.VerifyCMSSignatureRequest; -import at.gv.egiz.moasig.VerifyCMSSignatureResponseType; -import at.gv.egiz.moasig.VerifyPDFSignatureRequest; -import at.gv.egiz.moasig.VerifyPDFSignatureResponseType; -import at.gv.egiz.moasig.VerifyXMLSignatureRequest; -import at.gv.egiz.moasig.VerifyXMLSignatureResponseType; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; -import at.gv.egovernment.moa.spss.server.invoke.PDFASInvoker; -import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.server.webservice.CMSVerifySignatureBinding; -import at.gv.egovernment.moa.spss.server.webservice.PDFVerifySignatureBinding; -import at.gv.egovernment.moa.spss.server.webservice.SignatureVerificationService; -import at.gv.egovernment.moa.spss.server.webservice.XMLVerifySignatureBinding; -import at.gv.egovernment.moa.spss.server.webservice.binding.CMSVerifySignatureBindingImpl; -import at.gv.egovernment.moa.spss.server.webservice.binding.PDFVerifySignatureBindingImpl; -import at.gv.egovernment.moa.spss.server.webservice.binding.XMLVerifySignatureBindingImpl; -import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFRequest; -import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFResponse; -import at.gv.egovernment.moa.util.StreamUtils; - -@WebService(endpointInterface = "at.gv.egovernment.moa.spss.server.webservice.SignatureVerificationService", portName = "SignatureVerificationService", serviceName = "SignatureVerificationService") -public class SignatureVerificationServiceImpl implements SignatureVerificationService { - - private static final Logger logger = LoggerFactory.getLogger(SignatureVerificationServiceImpl.class); - - @Resource - private WebServiceContext context; - - private XMLVerifySignatureBinding xmlVerifySignatureBinding; - private CMSVerifySignatureBinding cmsVerifySignatureBinding; - private PDFVerifySignatureBinding pdfVerifySignatureBinding; - - public SignatureVerificationServiceImpl() { - this.xmlVerifySignatureBinding = new XMLVerifySignatureBindingImpl(); - this.cmsVerifySignatureBinding = new CMSVerifySignatureBindingImpl(); - this.pdfVerifySignatureBinding = new PDFVerifySignatureBindingImpl(); - } - - @Override - @WebResult(name = "VerifyXMLSignatureResponseType", targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20151109#") - public VerifyXMLSignatureResponseType verifyXMLSignature(VerifyXMLSignatureRequest verifyXMLSignatureRequest) - throws Exception { - logger.info("verifyXMLSignature start"); - try { - logger.info("WebServiceContext: {}", context); - ContextSetupAspect.setupContext(context.getMessageContext(), "verifyXMLSignature"); - - XMLSignatureVerificationInvoker invoker = XMLSignatureVerificationInvoker.getInstance(); - - at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest requestObj; - at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse responseObj; - - logger.trace(">>> preparsing Request"); - requestObj = this.xmlVerifySignatureBinding.buildXMLRequest(verifyXMLSignatureRequest); - logger.trace("<<< preparsed Request"); - - logger.trace(">>> verifying Signature"); - // invoke the core logic - responseObj = invoker.verifyXMLSignature(requestObj); - logger.trace("<<< verified Signature"); - - logger.trace(">>> building Response"); - // map back to XML - VerifyXMLSignatureResponseType response = this.xmlVerifySignatureBinding.buildXMLResponse(responseObj); - logger.trace("<<< built Response"); - - return response; - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - logger.error("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:", e); - throw new Exception(e.getMessage()); - } finally { - ContextSetupAspect.cleanContext(); - } - } - - @Override - @WebResult(name = "VerifyCMSSignatureResponseType", targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20151109#") - public VerifyCMSSignatureResponseType verifyCMSSignature(VerifyCMSSignatureRequest verifyCMSSignatureRequest) - throws Exception { - logger.info("verifyCMSSignature start"); - try { - logger.info("WebServiceContext: {}", context); - ContextSetupAspect.setupContext(context.getMessageContext(), "verifyCMSSignature"); - - CMSSignatureVerificationInvoker invoker = CMSSignatureVerificationInvoker.getInstance(); - - at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest requestObj; - at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse responseObj; - - logger.trace(">>> preparsing Request"); - requestObj = this.cmsVerifySignatureBinding.buildCMSRequest(verifyCMSSignatureRequest); - logger.trace("<<< preparsed Request"); - - logger.trace(">>> verifying Signature"); - // invoke the core logic - responseObj = invoker.verifyCMSSignature(requestObj); - logger.trace("<<< verified Signature"); - - logger.trace(">>> building Response"); - // map back to XML - VerifyCMSSignatureResponseType response = this.cmsVerifySignatureBinding.buildCMSResponse(responseObj); - logger.trace("<<< built Response"); - - return response; - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - logger.error("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:", e); - throw new Exception(e.getMessage()); - } finally { - ContextSetupAspect.cleanContext(); - } - } - - //@Override - //@WebResult(name = "VerifyPDFSignatureResponseType", targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20151109#") - private VerifyPDFSignatureResponseType verifyPDFASSignature(VerifyPDFSignatureRequest verifyPDFSignatureRequest) - throws Exception { - logger.info("verifyPDFSignature start"); - try { - logger.info("WebServiceContext: {}", context); - ContextSetupAspect.setupContext(context.getMessageContext(), "verifyPDFSignature"); - - VerifyPDFRequest requestObj; - VerifyPDFResponse responseObj; - - // since Axis (1.1 ff) has problem with namespaces we take the raw - // request stored by the Axishandler. - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - - // convert to API objects - logger.trace(">>> preparsing Request"); - requestObj = this.pdfVerifySignatureBinding.buildPDFRequest(verifyPDFSignatureRequest); - logger.trace("<<< preparsed Request"); - - logger.trace(">>> verifying Signature"); - // invoke the core logic - responseObj = PDFASInvoker.getInstance().verifyPDFSignature(requestObj); - logger.trace("<<< verified Signature"); - - logger.trace(">>> building Response"); - // map back to XML - VerifyPDFSignatureResponseType response = this.pdfVerifySignatureBinding.buildPDFResponse(responseObj); - logger.trace("<<< built Response"); - - return response; - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - logger.error("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:", e); - throw new Exception(e.getMessage()); - } finally { - ContextSetupAspect.cleanContext(); - } - } - - @Override - @WebResult(name = "VerifyPDFSignatureResponseType", targetNamespace = "http://reference.e-government.gv.at/namespace/moa/20151109#") - public VerifyPDFSignatureResponseType verifyPDFSignature(VerifyPDFSignatureRequest verifyPDFSignatureRequest) - throws Exception { - logger.info("verifyPDFSignature start"); - try { - logger.info("WebServiceContext: {}", context); - ContextSetupAspect.setupContext(context.getMessageContext(), "verifyPDFSignature"); - - CMSSignatureVerificationInvoker invoker = CMSSignatureVerificationInvoker.getInstance(); - - at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest requestObj; - at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse responseObj; - - logger.trace(">>> preparsing Request"); - requestObj = this.cmsVerifySignatureBinding.buildPDFRequest(verifyPDFSignatureRequest); - logger.trace("<<< preparsed Request"); - - logger.trace(">>> verifying Signature"); - // invoke the core logic - responseObj = invoker.verifyCMSSignature(requestObj); - logger.trace("<<< verified Signature"); - - logger.trace(">>> building Response"); - // map back to XML - VerifyPDFSignatureResponseType response = this.cmsVerifySignatureBinding.buildPDFResponse(responseObj); - logger.trace("<<< built Response"); - - return response; - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - logger.error("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:", e); - throw new Exception(e.getMessage()); - } finally { - ContextSetupAspect.cleanContext(); - } - } - -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SimpleCXFNonSpringServlet.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SimpleCXFNonSpringServlet.java deleted file mode 100644 index 65625a7..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/impl/SimpleCXFNonSpringServlet.java +++ /dev/null @@ -1,28 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.impl; - -import javax.servlet.ServletConfig; -import javax.xml.ws.Endpoint; - -import org.apache.cxf.Bus; -import org.apache.cxf.BusFactory; -import org.apache.cxf.transport.servlet.CXFNonSpringServlet; - -public class SimpleCXFNonSpringServlet extends CXFNonSpringServlet { - - /** - * - */ - private static final long serialVersionUID = 8564433272673970611L; - - @Override - public void loadBus(ServletConfig servletConfig) { - super.loadBus(servletConfig); - Bus bus = getBus(); - BusFactory.setDefaultBus(bus); - Endpoint signatureCreationEndpoint = Endpoint.publish("/SignatureCreation", new SignatureCreationServiceImpl()); - signatureCreationEndpoint.getProperties().put("schema-validation-enabled", "true"); - Endpoint signatureVerificationEndpoint = Endpoint.publish("/SignatureVerification", new SignatureVerificationServiceImpl()); - signatureVerificationEndpoint.getProperties().put("schema-validation-enabled", "true"); - } - -} -- cgit v1.2.3