From 1b337e50a9edb280aea49879f901613e1fe17b55 Mon Sep 17 00:00:00 2001 From: pdanner Date: Fri, 26 Nov 2010 12:01:18 +0000 Subject: Changes for xmldsig reconstruction git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@612 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../moa/EnvelopingBase64MOAConnector.java | 49 +++++++++++++++------- 1 file changed, 34 insertions(+), 15 deletions(-) (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/EnvelopingBase64MOAConnector.java') diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/EnvelopingBase64MOAConnector.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/EnvelopingBase64MOAConnector.java index b74c7ff..409f97f 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/EnvelopingBase64MOAConnector.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/EnvelopingBase64MOAConnector.java @@ -12,6 +12,7 @@ import org.apache.commons.logging.LogFactory; import at.gv.egiz.pdfas.algorithmSuite.AlgorithmSuiteObject; import at.gv.egiz.pdfas.algorithmSuite.AlgorithmSuiteUtil; +import at.gv.egiz.pdfas.api.xmldsig.XMLDsigData; import at.gv.egiz.pdfas.framework.ConnectorParameters; import at.knowcenter.wag.egov.egiz.cfg.SettingsReader; import at.knowcenter.wag.egov.egiz.exceptions.ConnectorException; @@ -37,6 +38,7 @@ import at.knowcenter.wag.egov.egiz.tools.FileHelper; */ public class EnvelopingBase64MOAConnector implements Connector { + //23.11.2010 changed by exthex - added reconstructXMLDsig method and moved xmldsig creation to chooseAndCreateXMLDsig method /** * The log. */ @@ -96,11 +98,11 @@ public class EnvelopingBase64MOAConnector implements Connector * @see at.knowcenter.wag.egov.egiz.sig.connectors.Connector#doVerify(at.knowcenter.wag.egov.egiz.sig.SignatureData, * at.knowcenter.wag.egov.egiz.sig.connectors.bku.SignSignatureObject) */ - public SignatureResponse doVerify(SignatureData data, SignSignatureObject so) throws ConnectorException + public SignatureResponse doVerify(SignatureData data, SignSignatureObject so, XMLDsigData dsig) throws ConnectorException { log.debug("doVerify:"); //$NON-NLS-1$ - String verify_request_xml = prepareVerifyRequest(data, so); + String verify_request_xml = prepareVerifyRequest(data, so, dsig); log.debug("verify_request_xml = " + verify_request_xml); //$NON-NLS-1$ String url = this.environment.getVerifyURL(); @@ -163,27 +165,18 @@ public class EnvelopingBase64MOAConnector implements Connector * @throws ConnectorException * f.e. */ - public String prepareVerifyRequest(SignatureData data, SignSignatureObject so) throws ConnectorException + public String prepareVerifyRequest(SignatureData data, SignSignatureObject so, XMLDsigData dsigData) throws ConnectorException { String verify_request_template = this.environment.getVerifyRequestTemplate(); String xml_content = null; - if (!SigKZIDHelper.isMOASigned(so)) + if (dsigData != null && dsigData.getXmlDsig() != null) { - if (SigKZIDHelper.isOldBKU(so)) - { - OldEnvelopingBase64BKUConnector bku_connector = new OldEnvelopingBase64BKUConnector(this.environment.getProfile()); - xml_content = bku_connector.prepareXMLContent(data, so); - } - else - { - EnvelopedBase64BKUConnector bku_connector = new EnvelopedBase64BKUConnector(this.environment.getProfile()); - xml_content = bku_connector.prepareXMLContent(data, so); - } + xml_content = dsigData.getXmlDsig(); } else { - xml_content = prepareXMLContent(data, so); + xml_content = chooseAndCreateXMLDsig(data, so); } String verify_request_xml = verify_request_template.replaceFirst(TemplateReplaces.XML_CONTENT_REPLACE, xml_content); @@ -596,4 +589,30 @@ public class EnvelopingBase64MOAConnector implements Connector } + public XMLDsigData reconstructXMLDsig(SignatureData data, SignSignatureObject so) + throws ConnectorException { + String xmldsig = chooseAndCreateXMLDsig(data, so); + return new XMLDsigData(xmldsig, false); + } + + private String chooseAndCreateXMLDsig(SignatureData data, SignSignatureObject so) throws ConnectorException { + if (!SigKZIDHelper.isMOASigned(so)) + { + if (SigKZIDHelper.isOldBKU(so)) + { + OldEnvelopingBase64BKUConnector bku_connector = new OldEnvelopingBase64BKUConnector(this.environment.getProfile()); + return bku_connector.prepareXMLContent(data, so); + } + else + { + EnvelopedBase64BKUConnector bku_connector = new EnvelopedBase64BKUConnector(this.environment.getProfile()); + return bku_connector.prepareXMLContent(data, so); + } + } + else + { + return prepareXMLContent(data, so); + } + } + } -- cgit v1.2.3