diff options
Diffstat (limited to 'id/server/idserverlib')
7 files changed, 150 insertions, 7 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java index fe23b545f..b8a0fe678 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java @@ -122,6 +122,8 @@ import at.gv.egovernment.moa.id.storage.DBExceptionStoreImpl;  import at.gv.egovernment.moa.id.util.HTTPUtils;  import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;  import at.gv.egovernment.moa.id.util.Random; +import at.gv.egovernment.moa.id.util.SSLUtils; +import at.gv.egovernment.moa.id.util.XMLUtil;  import at.gv.egovernment.moa.id.util.client.mis.simple.MISMandate;  import at.gv.egovernment.moa.logging.LogMsg;  import at.gv.egovernment.moa.logging.Logger; @@ -140,7 +142,6 @@ import eu.stork.peps.auth.commons.PersonalAttributeList;  import eu.stork.peps.auth.commons.STORKAuthnRequest;  import eu.stork.peps.auth.engine.STORKSAMLEngine;  import eu.stork.peps.exceptions.STORKSAMLEngineException; -import eu.stork.vidp.messages.util.XMLUtil;  /**   * API for MOA ID Authentication Service.<br> {@link AuthenticationSession} is diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/PEPSConnectorResponseVerifier.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/PEPSConnectorResponseVerifier.java index f78067b5f..b3a707134 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/PEPSConnectorResponseVerifier.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/PEPSConnectorResponseVerifier.java @@ -40,11 +40,11 @@ import at.gv.egovernment.moa.id.auth.invoke.SignatureVerificationInvoker;  import at.gv.egovernment.moa.id.auth.parser.VerifyXMLSignatureResponseParser;
  import at.gv.egovernment.moa.id.config.ConfigurationException;
  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
 +import at.gv.egovernment.moa.id.util.XMLUtil;
  import at.gv.egovernment.moa.logging.Logger;
  import eu.stork.mw.messages.saml.STORKResponse;
  import eu.stork.vidp.messages.exception.SAMLValidationException;
  import eu.stork.vidp.messages.util.SAMLUtil;
 -import eu.stork.vidp.messages.util.XMLUtil;
  /**
   * Verifies the SMAL response according to the STORK specification
 diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java index e2112a4d9..ab62c2718 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/stork/STORKResponseProcessor.java @@ -35,6 +35,8 @@ import at.gv.egovernment.moa.id.auth.exception.ParseException;  import at.gv.egovernment.moa.id.auth.parser.IdentityLinkAssertionParser;
  import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.CreateIdentityLinkResponse;
  import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWClientException;
 +import at.gv.egovernment.moa.id.config.ConfigurationException;
 +import at.gv.egovernment.moa.id.util.XMLUtil;
  import at.gv.egovernment.moa.logging.Logger;
  import at.gv.egovernment.moa.util.Constants;
  import at.gv.egovernment.moa.util.DateTimeUtils;
 @@ -43,7 +45,6 @@ import eu.stork.mw.messages.saml.STORKResponse;  import eu.stork.peps.auth.commons.IPersonalAttributeList;
  import eu.stork.vidp.messages.common.STORKConstants;
  import eu.stork.vidp.messages.util.SAMLUtil;
 -import eu.stork.vidp.messages.util.XMLUtil;
  /**
   * 
 diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java index 7ef043abe..407e7da52 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java @@ -18,7 +18,6 @@ import org.opensaml.saml2.metadata.RequestedAttribute;  import org.w3c.dom.Element;  import eu.stork.vidp.messages.util.SAMLUtil; -import eu.stork.vidp.messages.util.XMLUtil;  import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral;  import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA; @@ -67,6 +66,7 @@ import at.gv.egovernment.moa.id.config.ConfigurationProvider;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;  import at.gv.egovernment.moa.id.data.IssuerAndSerial; +import at.gv.egovernment.moa.id.util.XMLUtil;  import at.gv.egovernment.moa.logging.Logger;  import at.gv.egovernment.moa.util.Base64Utils;  import at.gv.egovernment.moa.util.DOMUtils; diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/stork/STORKConfig.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/stork/STORKConfig.java index e388b39e7..24c7ad264 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/stork/STORKConfig.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/stork/STORKConfig.java @@ -20,8 +20,6 @@ import org.w3c.dom.Element;  import org.xml.sax.SAXException;
  import eu.stork.vidp.messages.util.SAMLUtil;
 -import eu.stork.vidp.messages.util.XMLUtil;
 -
  import at.gv.egovernment.moa.id.commons.db.dao.config.SAMLSigningParameter;
  import at.gv.egovernment.moa.id.commons.db.dao.config.STORK;
  import at.gv.egovernment.moa.id.commons.db.dao.config.SignatureVerificationParameterType;
 diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerifierMOASP.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerifierMOASP.java index c744abdf5..495f5f0db 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerifierMOASP.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerifierMOASP.java @@ -15,8 +15,8 @@ import at.gv.egovernment.moa.id.auth.invoke.SignatureVerificationInvoker;  import at.gv.egovernment.moa.id.auth.parser.VerifyXMLSignatureResponseParser;  import at.gv.egovernment.moa.id.config.ConfigurationException;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; +import at.gv.egovernment.moa.id.util.XMLUtil;  import at.gv.egovernment.moa.logging.Logger; -import eu.stork.vidp.messages.util.XMLUtil;  public class SAMLVerifierMOASP implements ISAMLVerifier { diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/XMLUtil.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/XMLUtil.java new file mode 100644 index 000000000..d87d510fa --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/XMLUtil.java @@ -0,0 +1,143 @@ +/**
 + * 
 + */
 +package at.gv.egovernment.moa.id.util;
 +
 +import java.io.File;
 +import java.io.IOException;
 +import java.io.Reader;
 +import java.io.StringReader;
 +import java.io.StringWriter;
 +
 +import javax.xml.parsers.DocumentBuilder;
 +import javax.xml.parsers.DocumentBuilderFactory;
 +import javax.xml.parsers.ParserConfigurationException;
 +import javax.xml.transform.OutputKeys;
 +import javax.xml.transform.Result;
 +import javax.xml.transform.Source;
 +import javax.xml.transform.Transformer;
 +import javax.xml.transform.TransformerException;
 +import javax.xml.transform.TransformerFactory;
 +import javax.xml.transform.dom.DOMSource;
 +import javax.xml.transform.stream.StreamResult;
 +
 +import org.w3c.dom.Document;
 +import org.w3c.dom.Element;
 +import org.w3c.dom.Node;
 +import org.w3c.dom.NodeList;
 +import org.xml.sax.InputSource;
 +import org.xml.sax.SAXException;
 +
 +/**
 + * Helper class for XML processing
 + * @author bzwattendorfer
 + *
 + */
 +public class XMLUtil {
 +	
 +	/**
 +	 * Transforms a string representation to a DOM representation
 +	 * @param xmlString XML as string
 +	 * @return DOM representation of String
 +	 * @throws ParserConfigurationException
 +	 * @throws SAXException
 +	 * @throws IOException
 +	 */
 +	public static Element stringToDOM(String xmlString) throws ParserConfigurationException, SAXException, IOException {
 +		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
 +		dbf.setNamespaceAware(true);
 +	   
 +	    DocumentBuilder builder = dbf.newDocumentBuilder();
 +		
 +		Reader reader = new StringReader(xmlString);
 +		InputSource src = new InputSource(reader);
 +		Document domDoc = builder.parse(src);
 +		return domDoc.getDocumentElement();
 +	}
 +   
 +	/**
 +	 * Creates a new and empty XML document
 +	 * @return New XML document
 +	 * @throws ParserConfigurationException
 +	 */
 +   public static Document createNewDocument() throws ParserConfigurationException {
 +	   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
 +		dbf.setNamespaceAware(true);
 +	   
 +	    DocumentBuilder builder = dbf.newDocumentBuilder();
 +	    return builder.newDocument();
 +   }
 +   
 +   /**
 +    * Transforms an XML to a String
 +    * @param node XML node
 +    * @return String represenation of XML
 +    */
 +   public static String printXML(Node node) {
 +        TransformerFactory tfactory = TransformerFactory.newInstance();
 +        Transformer serializer;
 +        try {
 +            serializer = tfactory.newTransformer();
 +            
 +            serializer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
 +            serializer.setOutputProperty(OutputKeys.ENCODING,"UTF-8");
 +            
 +            StringWriter output = new StringWriter();
 +            serializer.transform(new DOMSource(node), new StreamResult(output));
 +            return output.toString();
 +        } catch (TransformerException e) {
 +            
 +            throw new RuntimeException(e);
 +        }
 +    }
 +	
 +   /**
 +    * Writes an XML element to a given file
 +    * @param doc XML element
 +    * @param filename Filename of the file where to write XML
 +    */
 +	public static void writeXmlFile(Element doc, String filename) { 
 +		try { 
 +			 
 +			Source source = new DOMSource(doc); 				
 +			File file = new File(filename); 
 +			Result result = new StreamResult(file); 
 +
 +			Transformer xformer = TransformerFactory.newInstance().newTransformer(); 
 +			xformer.transform(source, result); 
 +			} catch (Exception e) { 
 +				throw new RuntimeException(e);
 +			}  
 +	} 
 +	
 +	/**
 +	 * Gets the first text value of a NodeList
 +	 * @param nList NodeList
 +	 * @return first text value of a NodeList
 +	 */
 +	public static String getFirstTextValueFromNodeList(NodeList nList) {
 +		if (nList != null && nList.getLength() != 0) {
 +			return nList.item(0).getTextContent();
 +		}
 +		return null;
 +	}
 +	
 +	/**
 +	 * Gets the first element of a Node
 +	 * @param parent Node
 +	 * @return first element of a Node
 +	 */
 +	public static Element getFirstElement(Node parent) {
 +	    Node n = parent.getFirstChild();
 +	    while (n != null &&  n.getNodeType() !=  Node.ELEMENT_NODE) {
 +	        n = n.getNextSibling();
 +	    }
 +	    if (n == null) {
 +	        return null;
 +	    }
 +	    return (Element)n;
 +	}
 +	
 +
 +
 +}
 | 
