diff options
Diffstat (limited to 'moaSig/moa-sig/src/main/java/at')
29 files changed, 110 insertions, 676 deletions
diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/initializer/PDFASInitializer.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/initializer/PDFASInitializer.java index aaa41c1..fb84293 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/initializer/PDFASInitializer.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/initializer/PDFASInitializer.java @@ -13,14 +13,16 @@ public class PDFASInitializer implements ExternalInitializer { @Override public void initialize(ConfigurationProvider configurationProvider) { - String pdfAsConfiguration = configurationProvider.getPDFASConfiguration(); + logger.warn("Log4j Config: {}", System.getProperty("log4j.configuration")); + + /*String pdfAsConfiguration = configurationProvider.getPDFASConfiguration(); logger.info("Running PDFASInitializer with pdf as cfg: {}", pdfAsConfiguration); if(pdfAsConfiguration != null) { PDFASInvoker .init(pdfAsConfiguration); - } + }*/ } } diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/invoke/PDFASInvoker.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/invoke/PDFASInvoker.java index 7f638fa..1f7522b 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/invoke/PDFASInvoker.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/invoke/PDFASInvoker.java @@ -7,17 +7,6 @@ import java.util.List; import org.apache.commons.io.IOUtils; -import at.gv.egiz.pdfas.common.exceptions.PDFASError; -import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource; -import at.gv.egiz.pdfas.lib.api.Configuration; -import at.gv.egiz.pdfas.lib.api.PdfAs; -import at.gv.egiz.pdfas.lib.api.PdfAsFactory; -import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner; -import at.gv.egiz.pdfas.lib.api.sign.SignParameter; -import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter; -import at.gv.egiz.pdfas.lib.api.verify.VerifyResult; -import at.gv.egiz.pdfas.sigs.pades.PAdESSigner; -import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.server.logging.TransactionId; @@ -29,9 +18,10 @@ import at.gv.egovernment.moa.spss.server.xmlbind.PDFSignatureInfo; import at.gv.egovernment.moa.spss.server.xmlbind.SignedPDFInfo; import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFRequest; import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFResponse; +import at.gv.egovernment.moaspss.logging.Logger; public class PDFASInvoker { - + /* private static PDFASInvoker instance = null; private PdfAs pdfAS; @@ -124,5 +114,5 @@ public class PDFASInvoker { } return createPDFRespone; - } + }*/ } diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/ExtendedVerifyResult.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/ExtendedVerifyResult.java index 30bf148..705e124 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/ExtendedVerifyResult.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/ExtendedVerifyResult.java @@ -1,9 +1,9 @@ package at.gv.egovernment.moa.spss.server.pdfas; - +/* import at.gv.egiz.pdfas.lib.api.verify.VerifyResult; import at.gv.egiz.pdfas.lib.impl.verify.VerifyResultImpl; - -public class ExtendedVerifyResult extends VerifyResultImpl implements VerifyResult { +*/ +public class ExtendedVerifyResult { /*extends VerifyResultImpl implements VerifyResult { private String qcSource; private boolean publicAuthority; private String publicAuthorityID; @@ -57,5 +57,5 @@ public class ExtendedVerifyResult extends VerifyResultImpl implements VerifyResu public synchronized void setSscdSource(String sscdSource) { this.sscdSource = sscdSource; - } + }*/ } diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/InternalMoaConnector.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/InternalMoaConnector.java index f12a2d1..0344346 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/InternalMoaConnector.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/InternalMoaConnector.java @@ -13,13 +13,6 @@ import java.util.Iterator; import java.util.List; import java.util.Set; -import at.gv.egiz.pdfas.common.exceptions.PDFASError; -import at.gv.egiz.pdfas.common.exceptions.PdfAsErrorCarrier; -import at.gv.egiz.pdfas.common.exceptions.PdfAsException; -import at.gv.egiz.pdfas.lib.api.sign.SignParameter; -import at.gv.egiz.pdfas.lib.impl.status.RequestedSignature; -import at.gv.egiz.sl.util.ISignatureConnector; -import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse; import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse; @@ -35,7 +28,8 @@ 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.config.KeyGroupEntry; import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureCreationInvoker; -import at.gv.egovernment.moa.util.Base64Utils; +import at.gv.egovernment.moaspss.logging.Logger; +import at.gv.egovernment.moaspss.util.Base64Utils; import iaik.logging.TransactionId; import iaik.server.modules.keys.KeyEntryID; import iaik.server.modules.keys.KeyModule; @@ -43,7 +37,7 @@ import iaik.server.modules.keys.KeyModuleFactory; import iaik.server.modules.keys.UnknownKeyException; import iaik.x509.X509Certificate; -public class InternalMoaConnector implements ISignatureConnector { +public class InternalMoaConnector { /*implements ISignatureConnector { private String keyIdentifier; private X509Certificate clientCert; @@ -229,5 +223,5 @@ public class InternalMoaConnector implements ISignatureConnector { return null; } - + */ } diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/InternalMoaVerifier.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/InternalMoaVerifier.java index e59fe50..8d5a27e 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/InternalMoaVerifier.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/pdfas/InternalMoaVerifier.java @@ -11,13 +11,14 @@ import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import at.gv.egiz.pdfas.common.exceptions.PdfAsException; +/*import at.gv.egiz.pdfas.common.exceptions.PdfAsException; import at.gv.egiz.pdfas.lib.api.Configuration; import at.gv.egiz.pdfas.lib.api.verify.SignatureCheck; import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter.SignatureVerificationLevel; import at.gv.egiz.pdfas.lib.api.verify.VerifyResult; import at.gv.egiz.pdfas.lib.impl.verify.IVerifier; import at.gv.egiz.pdfas.lib.impl.verify.SignatureCheckImpl; +*/ import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; @@ -30,7 +31,7 @@ import at.gv.egovernment.moa.spss.api.impl.VerifyCMSSignatureRequestImpl; import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; import iaik.x509.X509Certificate; -public class InternalMoaVerifier implements IVerifier { +public class InternalMoaVerifier { /*implements IVerifier { public static final String MOA_TRUSTPROFILE = "internal.moa.trustprofile"; @@ -124,5 +125,5 @@ public class InternalMoaVerifier implements IVerifier { public SignatureVerificationLevel getLevel() { return SignatureVerificationLevel.FULL_VERIFICATION; } - + */ } diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java index a18ee9f..9fa99b1 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java @@ -33,7 +33,9 @@ import java.util.Iterator; import javax.servlet.http.HttpServletRequest; +import org.apache.axis.AxisEngine; import org.apache.axis.AxisFault; +import org.apache.axis.AxisProperties; import org.apache.axis.Message; import org.apache.axis.MessageContext; import org.apache.axis.attachments.AttachmentPart; @@ -45,17 +47,17 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.logging.LoggingContext; -import at.gv.egovernment.moa.logging.LoggingContextManager; import at.gv.egovernment.moa.spss.MOASystemException; 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; import at.gv.egovernment.moa.spss.util.MessageProvider; -import at.gv.egovernment.moa.util.DOMUtils; +import at.gv.egovernment.moaspss.logging.LogMsg; +import at.gv.egovernment.moaspss.logging.Logger; +import at.gv.egovernment.moaspss.logging.LoggingContext; +import at.gv.egovernment.moaspss.logging.LoggingContextManager; +import at.gv.egovernment.moaspss.util.DOMUtils; /** * An handler that is invoked on each web service request and performs some @@ -141,9 +143,9 @@ public class AxisHandler extends BasicHandler { // Boolean.FALSE); // msgContext.setProperty(org.apache.axis. // AxisEngine.PROP_ENABLE_NAMESPACE_PREFIX_OPTIMIZATION,"false"); - + //AxisProperties.setProperty(AxisEngine.PROP_ATTACHMENT_IMPLEMENTATION, AxisEngine.DEFAULT_ATTACHMENT_IMPL); Message soapMessage = msgContext.getCurrentMessage(); - + ConfigurationProvider configuration = ConfigurationProvider.getInstance(); Element xmlRequest = null; diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java index 5fe96ef..43804a2 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java @@ -20,12 +20,12 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import at.gv.egovernment.moa.logging.Logger; 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.config.KeyGroupEntry; import at.gv.egovernment.moa.spss.server.logging.TransactionId; import at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator; +import at.gv.egovernment.moaspss.logging.Logger; /** * diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java index bfefaec..6164154 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java @@ -35,15 +35,14 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.logging.LoggingContext; -import at.gv.egovernment.moa.logging.LoggingContextManager; - import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; import at.gv.egovernment.moa.spss.server.init.*; import at.gv.egovernment.moa.spss.util.MessageProvider; +import at.gv.egovernment.moaspss.logging.LogMsg; +import at.gv.egovernment.moaspss.logging.Logger; +import at.gv.egovernment.moaspss.logging.LoggingContext; +import at.gv.egovernment.moaspss.logging.LoggingContextManager; /** * A servlet to initialize and update the MOA configuration. diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java index d986f7a..03eb3d3 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java @@ -31,9 +31,9 @@ import org.w3c.dom.Element; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.util.MOASPSSEntityResolver; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.MOAErrorHandler; +import at.gv.egovernment.moaspss.util.Constants; +import at.gv.egovernment.moaspss.util.DOMUtils; +import at.gv.egovernment.moaspss.util.MOAErrorHandler; /** * Helper methods for the Service classes. diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java index 0c800a2..4effec6 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java @@ -32,7 +32,6 @@ import org.apache.axis.AxisFault; import org.apache.axis.i18n.Messages; import org.w3c.dom.Element; -import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.MOASystemException; import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureRequest; @@ -52,8 +51,9 @@ import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFRequest; import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFRespone; import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFSignatureRequestParser; import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFSignatureResponseBuilder; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.StreamUtils; +import at.gv.egovernment.moaspss.logging.Logger; +import at.gv.egovernment.moaspss.util.Constants; +import at.gv.egovernment.moaspss.util.StreamUtils; /** * The service endpoint for the <code>SignatureCreation</code> web service. @@ -100,7 +100,7 @@ public class SignatureCreationService { new CreatePDFSignatureResponseBuilder(); Element reparsedReq; CreatePDFRequest requestObj; - CreatePDFRespone responseObj; + CreatePDFRespone responseObj = null; //since Axis (1.1 ff) has problem with namespaces we take the raw request stored by the Axishandler. TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); @@ -115,7 +115,7 @@ public class SignatureCreationService { Logger.trace(">>> creating Signature"); // invoke the core logic - responseObj = PDFASInvoker.getInstance().createPDFSignature(requestObj, context.getTransactionID()); + //responseObj = PDFASInvoker.getInstance().createPDFSignature(requestObj, context.getTransactionID()); Logger.trace("<<< created Signature"); Logger.trace(">>> building Response"); diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java index f676ed4..8278399 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java @@ -27,28 +27,23 @@ package at.gv.egovernment.moa.spss.server.service; import org.apache.axis.AxisFault; import org.w3c.dom.Element; -import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.MOASystemException; 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.xmlbind.VerifyCMSSignatureRequestParser; import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureResponseBuilder; +import at.gv.egovernment.moa.spss.api.xmlbind.VerifyPDFSignatureResponseBuilder; import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser; import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder; 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.config.ConfigurationProvider; 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.xmlbind.VerifyPDFRequest; -import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFRequestParser; -import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFResponse; -import at.gv.egovernment.moa.spss.server.xmlbind.VerifyPDFResponseBuilder; -import at.gv.egovernment.moa.util.StreamUtils; +import at.gv.egovernment.moaspss.logging.Logger; +import at.gv.egovernment.moaspss.util.StreamUtils; /** * The service endpoint for the <code>SignatureVerification</code> web service. @@ -69,20 +64,28 @@ public class SignatureVerificationService { */ public Element[] VerifyPDFSignatureRequest(Element[] request) throws AxisFault { - PDFASInvoker invoker = - PDFASInvoker.getInstance(); + CMSSignatureVerificationInvoker invoker = + CMSSignatureVerificationInvoker.getInstance(); Element[] response = new Element[1]; try { - + + // create a parser and builder for binding API objects to/from XML + VerifyCMSSignatureRequestParser requestParser = + new VerifyCMSSignatureRequestParser(); + VerifyPDFSignatureResponseBuilder responseBuilder = + new VerifyPDFSignatureResponseBuilder(); + Element reparsedReq; + VerifyCMSSignatureRequest requestObj; + VerifyCMSSignatureResponse responseObj; // create a parser and builder for binding API objects to/from XML - VerifyPDFRequestParser requestParser = + /*VerifyPDFRequestParser requestParser = new VerifyPDFRequestParser(); VerifyPDFResponseBuilder responseBuilder = new VerifyPDFResponseBuilder(); Element reparsedReq; VerifyPDFRequest requestObj; - VerifyPDFResponse responseObj; + 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(); @@ -90,10 +93,10 @@ public class SignatureVerificationService { reparsedReq = ServiceUtils.reparseRequest(request[0]);//context.getRequest()); // convert to API objects - requestObj = requestParser.parse(reparsedReq); + requestObj = requestParser.parsePDF(reparsedReq); // invoke the core logic - responseObj = invoker.verifyPDFSignature(requestObj); + responseObj = invoker.verifyCMSSignature(requestObj); // map back to XML response[0] = responseBuilder.build(responseObj).getDocumentElement(); 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 <code>Transform</code> 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<NamespaceDeclarationType> 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 (<code>TransactionContext</code> and - * <code>LoggingContext</code>). - * - * @param context - * The <code>TransactionContext</code> 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"); - } - -} diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureRequestParser.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureRequestParser.java index 163a7ba..c6b2126 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureRequestParser.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureRequestParser.java @@ -29,10 +29,10 @@ import org.w3c.dom.Element; import org.w3c.dom.traversal.NodeIterator; import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.util.Base64Utils; -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.Base64Utils; +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 <code>CreateCMSSignatureRequest</code> DOM trees into diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java index 78586ba..bdb9a71 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java @@ -33,8 +33,8 @@ import org.w3c.dom.Element; import at.gv.egovernment.moa.spss.MOASystemException; import at.gv.egovernment.moa.spss.api.xmlbind.ResponseBuilderUtils; -import at.gv.egovernment.moa.util.Base64Utils; -import at.gv.egovernment.moa.util.Constants; +import at.gv.egovernment.moaspss.util.Base64Utils; +import at.gv.egovernment.moaspss.util.Constants; /** * Convert a <code>CreateCMSSignatureResponse</code> API object into its XML diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFRequestParser.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFRequestParser.java index 7601b31..66761e4 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFRequestParser.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFRequestParser.java @@ -7,10 +7,10 @@ import org.w3c.dom.Element; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.api.xmlbind.RequestParserUtils; -import at.gv.egovernment.moa.util.Base64Utils; -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.Base64Utils; +import at.gv.egovernment.moaspss.util.Constants; +import at.gv.egovernment.moaspss.util.DOMUtils; +import at.gv.egovernment.moaspss.util.XPathUtils; public class VerifyPDFRequestParser { diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFResponse.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFResponse.java index 76746cf..c162529 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFResponse.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFResponse.java @@ -2,10 +2,10 @@ package at.gv.egovernment.moa.spss.server.xmlbind; import java.util.List; -import at.gv.egiz.pdfas.lib.api.verify.VerifyResult; +//import at.gv.egiz.pdfas.lib.api.verify.VerifyResult; public class VerifyPDFResponse { - private List<VerifyResult> verificationResults = null; + /*private List<VerifyResult> verificationResults = null; public VerifyPDFResponse() { } @@ -16,5 +16,5 @@ public class VerifyPDFResponse { public synchronized void setVerificationResults(List<VerifyResult> verificationResults) { this.verificationResults = verificationResults; - } + }*/ } diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFResponseBuilder.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFResponseBuilder.java index 705eff6..cb3c66b 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFResponseBuilder.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/VerifyPDFResponseBuilder.java @@ -5,13 +5,13 @@ import java.util.Iterator; import org.w3c.dom.Document; import org.w3c.dom.Element; -import at.gv.egiz.pdfas.lib.api.verify.VerifyResult; +//import at.gv.egiz.pdfas.lib.api.verify.VerifyResult; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.MOASystemException; import at.gv.egovernment.moa.spss.api.xmlbind.ResponseBuilderUtils; import at.gv.egovernment.moa.spss.server.pdfas.ExtendedVerifyResult; -import at.gv.egovernment.moa.util.Constants; +import at.gv.egovernment.moaspss.util.Constants; public class VerifyPDFResponseBuilder { private static final String MOA_NS_URI = Constants.MOA_NS_URI; @@ -44,7 +44,7 @@ public class VerifyPDFResponseBuilder { * @return A document containing the <code>CreateCMSSignatureResponse</code> * DOM element. */ - public Document build(VerifyPDFResponse response) throws MOAException { + /*public Document build(VerifyPDFResponse response) throws MOAException { if(response.getVerificationResults() == null) { throw new MOAApplicationException("No verification results available", null); } @@ -106,5 +106,5 @@ public class VerifyPDFResponseBuilder { (String)null); responseElem.appendChild(pdfSignature); - } + }*/ } |