Author: anil.saldhana(a)jboss.com
Date: 2009-10-27 17:40:24 -0400 (Tue, 27 Oct 2009)
New Revision: 879
Modified:
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/providers/FileBasedEntityMetadataProvider.java
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectWithSignatureValve.java
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPPostFormAuthenticator.java
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectSignatureFormAuthenticator.java
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/workflow/SAML2LogoutTomcatWorkflowUnitTestCase.java
identity-federation/trunk/jboss-identity-fed-api/src/main/java/org/jboss/identity/federation/api/saml/v2/request/SAML2Request.java
identity-federation/trunk/jboss-identity-fed-api/src/main/java/org/jboss/identity/federation/api/saml/v2/response/SAML2Response.java
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/DocumentUtil.java
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/SOAPSAMLXACMLUtil.java
identity-federation/trunk/jboss-identity-fed-core/src/test/java/org/jboss/test/identity/federation/core/wstrust/SpecialTokenProvider.java
identity-federation/trunk/jboss-identity-seam/src/main/java/org/jboss/identity/seam/federation/SamlAuthenticationFilter.java
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/filters/SPFilter.java
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/process/ServiceProviderSAMLRequestProcessor.java
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/IDPWebRequestUtil.java
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/RedirectBindingSignatureUtil.java
identity-federation/trunk/jboss-identity-web/src/test/java/org/jboss/test/identity/federation/web/mock/MockFilterConfig.java
Log:
clean up the thrown exceptions
Modified:
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/providers/FileBasedEntityMetadataProvider.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/providers/FileBasedEntityMetadataProvider.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/providers/FileBasedEntityMetadataProvider.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -43,7 +43,9 @@
private static final String FILENAME_KEY = "FileName";
private String fileName;
private InputStream metadataFileStream;
+ @SuppressWarnings("unused")
private PublicKey encryptionKey;
+ @SuppressWarnings("unused")
private PublicKey signingKey;
@Override
Modified:
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -287,7 +287,8 @@
return request.getParameter(GeneralConstants.SAML_REQUEST_KEY) != null;
}
- private RequestAbstractType getSAMLRequest(Request request) throws ParsingException,
IOException
+ private RequestAbstractType getSAMLRequest(Request request)
+ throws ParsingException, ConfigurationException, ProcessingException
{
String samlMessage = getSAMLMessage(request);
InputStream is = RedirectBindingUtil.base64DeflateDecode(samlMessage);
Modified:
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectWithSignatureValve.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectWithSignatureValve.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectWithSignatureValve.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -21,6 +21,8 @@
*/
package org.jboss.identity.federation.bindings.tomcat.idp;
+import static org.jboss.identity.federation.core.util.StringUtil.isNotNull;
+
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
@@ -34,9 +36,6 @@
import javax.crypto.SecretKey;
import javax.xml.bind.JAXBException;
import javax.xml.namespace.QName;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.connector.Request;
@@ -61,9 +60,6 @@
import org.xml.sax.SAXException;
-import static org.jboss.identity.federation.core.util.StringUtil.isNotNull;
-
-
/**
* Valve at the Identity Provider that supports
* SAML2 HTTP/Redirect binding with digital signature support
@@ -229,23 +225,7 @@
catch (SAXException e)
{
throw new ParsingException(e);
- }
- catch (ParserConfigurationException e)
- {
- throw new ConfigurationException(e);
- }
- catch (IOException e)
- {
- throw new ProcessingException(e);
- }
- catch (TransformerFactoryConfigurationError e)
- {
- throw new ConfigurationException(e);
- }
- catch (TransformerException e)
- {
- throw new ProcessingException(e);
- }
+ }
catch (Exception e)
{
throw new ProcessingException(e);
Modified:
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPPostFormAuthenticator.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPPostFormAuthenticator.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPPostFormAuthenticator.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -30,8 +30,6 @@
import java.util.Set;
import javax.servlet.RequestDispatcher;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
import org.apache.catalina.Session;
import org.apache.catalina.authenticator.Constants;
@@ -290,31 +288,17 @@
* @param willSendRequest are we sending Request or Response to IDP
* @throws ProcessingException
* @throws ConfigurationException
+ * @throws IOException
*/
protected void sendRequestToIDP(
String destination, Document samlDocument,String relayState, Response response,
boolean willSendRequest)
- throws ProcessingException, ConfigurationException
+ throws ProcessingException, ConfigurationException, IOException
{
- try
- {
- String samlMessage = DocumentUtil.getDocumentAsString(samlDocument);
+ String samlMessage = DocumentUtil.getDocumentAsString(samlDocument);
samlMessage = PostBindingUtil.base64Encode(samlMessage);
PostBindingUtil.sendPost(new DestinationInfoHolder(destination, samlMessage,
relayState),
- response, willSendRequest);
- }
- catch (TransformerFactoryConfigurationError e)
- {
- throw new ConfigurationException(e);
- }
- catch (TransformerException e)
- {
- throw new ProcessingException(e);
- }
- catch (IOException e)
- {
- throw new ProcessingException(e);
- }
+ response, willSendRequest);
}
/**
Modified:
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectSignatureFormAuthenticator.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectSignatureFormAuthenticator.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/sp/SPRedirectSignatureFormAuthenticator.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -21,14 +21,14 @@
*/
package org.jboss.identity.federation.bindings.tomcat.sp;
+import static org.jboss.identity.federation.core.util.StringUtil.isNotNull;
+
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.PrivateKey;
import java.security.PublicKey;
import javax.xml.bind.JAXBException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException;
@@ -51,9 +51,6 @@
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-
-import static org.jboss.identity.federation.core.util.StringUtil.isNotNull;
-
/**
* Tomcat Authenticator for the HTTP/Redirect binding with Signature support
* @author Anil.Saldhana(a)redhat.com
@@ -183,14 +180,6 @@
{
throw new ConfigurationException(e);
}
- catch (TransformerFactoryConfigurationError e)
- {
- throw new ConfigurationException(e);
- }
- catch (TransformerException e)
- {
- throw new ParsingException(e);
- }
catch (Exception e)
{
throw new GeneralSecurityException(e);
Modified:
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/workflow/SAML2LogoutTomcatWorkflowUnitTestCase.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/workflow/SAML2LogoutTomcatWorkflowUnitTestCase.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/workflow/SAML2LogoutTomcatWorkflowUnitTestCase.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -59,6 +59,7 @@
* @author Anil.Saldhana(a)redhat.com
* @since Oct 21, 2009
*/
+@SuppressWarnings("unused")
public class SAML2LogoutTomcatWorkflowUnitTestCase extends TestCase
{
private String profile = "saml2/logout";
@@ -244,8 +245,6 @@
System.out.println("Logout Response from SP=" + logoutResponse);
stream = RedirectBindingUtil.urlBase64DeflateDecode(logoutResponse);
-
- SAML2Response saml2Response = new SAML2Response();
StatusResponseType statusResponse =
(StatusResponseType) saml2Request.getSAML2ObjectFromStream(stream);
assertEquals("Match IDP URL", IDP, destination);
@@ -274,7 +273,7 @@
System.out.println("LogO=" + logoutResponse);
stream = RedirectBindingUtil.urlBase64DeflateDecode(logoutResponse);
- saml2Response = new SAML2Response();
+ SAML2Response saml2Response = new SAML2Response();
statusResponse =
(StatusResponseType) saml2Request.getSAML2ObjectFromStream(stream);
assertEquals("Match IDP URL", IDP, destination);
Modified:
identity-federation/trunk/jboss-identity-fed-api/src/main/java/org/jboss/identity/federation/api/saml/v2/request/SAML2Request.java
===================================================================
---
identity-federation/trunk/jboss-identity-fed-api/src/main/java/org/jboss/identity/federation/api/saml/v2/request/SAML2Request.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-fed-api/src/main/java/org/jboss/identity/federation/api/saml/v2/request/SAML2Request.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -37,6 +37,7 @@
import org.jboss.identity.federation.core.constants.JBossIdentityFederationConstants;
import org.jboss.identity.federation.core.exceptions.ConfigurationException;
import org.jboss.identity.federation.core.exceptions.ParsingException;
+import org.jboss.identity.federation.core.exceptions.ProcessingException;
import org.jboss.identity.federation.core.saml.v2.common.IDGenerator;
import org.jboss.identity.federation.core.saml.v2.common.SAMLDocumentHolder;
import
org.jboss.identity.federation.core.saml.v2.factories.JBossSAMLAuthnRequestFactory;
@@ -120,25 +121,14 @@
* @throws ParsingException
*/
@SuppressWarnings("unchecked")
- public SAML2Object getSAML2ObjectFromStream(InputStream is) throws IOException,
ParsingException
+ public SAML2Object getSAML2ObjectFromStream(InputStream is)
+ throws ConfigurationException, ParsingException,
+ ProcessingException
{
if(is == null)
throw new IllegalStateException("InputStream is null");
- Document samlDocument = null;
- //First parse the Document
- try
- {
- samlDocument = DocumentUtil.getDocument(is);
- }
- catch (ParserConfigurationException e)
- {
- throw new ParsingException(e);
- }
- catch (SAXException e)
- {
- throw new ParsingException(e);
- }
+ Document samlDocument = DocumentUtil.getDocument(is);
try
{
@@ -157,36 +147,23 @@
/**
* Get a Request Type from Input Stream
* @param is
- * @return
- * @throws SAXException
- * @throws JAXBException
- * @throws IOException
+ * @return
+ * @throws ProcessingException
+ * @throws ConfigurationException
* @throws
* @throws IllegalArgumentException inputstream is null
*/
@SuppressWarnings("unchecked")
- public RequestAbstractType getRequestType(InputStream is) throws ParsingException,
IOException
+ public RequestAbstractType getRequestType(InputStream is)
+ throws ParsingException, ConfigurationException, ProcessingException
{
if(is == null)
throw new IllegalStateException("InputStream is null");
- Document samlDocument = null;
- //First parse the Document
+ Document samlDocument = DocumentUtil.getDocument(is);
+
try
{
- samlDocument = DocumentUtil.getDocument(is);
- }
- catch (ParserConfigurationException e)
- {
- throw new ParsingException(e);
- }
- catch (SAXException e)
- {
- throw new ParsingException(e);
- }
-
- try
- {
Binder<Node> binder = getBinder();
JAXBElement<RequestAbstractType> jaxbAuthnRequestType =
(JAXBElement<RequestAbstractType>) binder.unmarshal(samlDocument);
RequestAbstractType requestType = jaxbAuthnRequestType.getValue();
@@ -304,7 +281,7 @@
* @throws ParserConfigurationException
*/
public Document convert(RequestAbstractType rat)
- throws SAXException, IOException, JAXBException, ParserConfigurationException
+ throws SAXException, IOException, JAXBException, ConfigurationException
{
JAXBContext jaxb = JAXBUtil.getJAXBContext(RequestAbstractType.class);
Binder<Node> binder = jaxb.createBinder();
@@ -321,7 +298,7 @@
* @throws JAXBException
* @throws ParserConfigurationException
*/
- public Document convert(ResponseType responseType) throws JAXBException,
ParserConfigurationException
+ public Document convert(ResponseType responseType) throws JAXBException,
ConfigurationException
{
JAXBContext jaxb = JAXBUtil.getJAXBContext(ResponseType.class);
Binder<Node> binder = jaxb.createBinder();
Modified:
identity-federation/trunk/jboss-identity-fed-api/src/main/java/org/jboss/identity/federation/api/saml/v2/response/SAML2Response.java
===================================================================
---
identity-federation/trunk/jboss-identity-fed-api/src/main/java/org/jboss/identity/federation/api/saml/v2/response/SAML2Response.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-fed-api/src/main/java/org/jboss/identity/federation/api/saml/v2/response/SAML2Response.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -21,7 +21,6 @@
*/
package org.jboss.identity.federation.api.saml.v2.response;
-import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Writer;
@@ -40,6 +39,7 @@
import org.jboss.identity.federation.core.constants.JBossIdentityFederationConstants;
import org.jboss.identity.federation.core.exceptions.ConfigurationException;
import org.jboss.identity.federation.core.exceptions.ParsingException;
+import org.jboss.identity.federation.core.exceptions.ProcessingException;
import org.jboss.identity.federation.core.saml.v2.common.SAMLDocumentHolder;
import org.jboss.identity.federation.core.saml.v2.constants.JBossSAMLURIConstants;
import
org.jboss.identity.federation.core.saml.v2.exceptions.IssueInstantMissingException;
@@ -260,31 +260,16 @@
* @throws ConfigurationException
*/
@SuppressWarnings("unchecked")
- public ResponseType getResponseType(InputStream is) throws ParsingException,
ConfigurationException
+ public ResponseType getResponseType(InputStream is)
+ throws ParsingException, ConfigurationException, ProcessingException
{
if(is == null)
throw new IllegalArgumentException("inputstream is null");
- Document samlResponseDocument = null;
- //Read the DOM
+ Document samlResponseDocument = DocumentUtil.getDocument(is);
+
try
{
- samlResponseDocument = DocumentUtil.getDocument(is);
- }
- catch (ParserConfigurationException e)
- {
- throw new ConfigurationException(e);
- }
- catch (IOException e)
- {
- throw new ParsingException(e);
- }
- catch (SAXException e)
- {
- throw new ParsingException(e);
- }
- try
- {
Binder<Node> binder = getBinder();
JAXBElement<ResponseType> jaxbResponseType =
(JAXBElement<ResponseType>) binder.unmarshal(samlResponseDocument);
ResponseType responseType = jaxbResponseType.getValue();
@@ -304,33 +289,18 @@
* @return
* @throws ParsingException
* @throws ConfigurationException
+ * @throws ProcessingException
*/
@SuppressWarnings("unchecked")
- public SAML2Object getSAML2ObjectFromStream(InputStream is) throws ParsingException,
ConfigurationException
+ public SAML2Object getSAML2ObjectFromStream(InputStream is) throws ParsingException,
ConfigurationException, ProcessingException
{
if(is == null)
throw new IllegalArgumentException("inputstream is null");
- Document samlResponseDocument = null;
- //Read the DOM
+ Document samlResponseDocument = DocumentUtil.getDocument(is);
+
try
{
- samlResponseDocument = DocumentUtil.getDocument(is);
- }
- catch (ParserConfigurationException e)
- {
- throw new ConfigurationException(e);
- }
- catch (IOException e)
- {
- throw new ParsingException(e);
- }
- catch (SAXException e)
- {
- throw new ParsingException(e);
- }
- try
- {
Binder<Node> binder = getBinder();
JAXBElement<SAML2Object> saml2Object = (JAXBElement<SAML2Object>)
binder.unmarshal(samlResponseDocument);
SAML2Object responseType = saml2Object.getValue();
@@ -351,7 +321,7 @@
* @throws ParserConfigurationException
*/
public Document convert(EncryptedElementType encryptedElementType)
- throws JAXBException, ParserConfigurationException
+ throws JAXBException, ConfigurationException
{
JAXBContext jaxb = JAXBUtil.getJAXBContext(EncryptedElementType.class);
Binder<Node> binder = jaxb.createBinder();
@@ -379,7 +349,7 @@
* @throws JAXBException
* @throws ParserConfigurationException
*/
- public Document convert(StatusResponseType responseType) throws JAXBException,
ParserConfigurationException
+ public Document convert(StatusResponseType responseType) throws JAXBException,
ConfigurationException
{
JAXBContext jaxb = JAXBUtil.getJAXBContext(StatusResponseType.class);
Binder<Node> binder = jaxb.createBinder();
Modified:
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/DocumentUtil.java
===================================================================
---
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/DocumentUtil.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/DocumentUtil.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -31,21 +31,24 @@
import java.io.StringWriter;
import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
+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.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.xpath.XPathException;
import org.apache.log4j.Logger;
+import org.jboss.identity.federation.core.exceptions.ConfigurationException;
+import org.jboss.identity.federation.core.exceptions.ParsingException;
+import org.jboss.identity.federation.core.exceptions.ProcessingException;
import org.w3c.dom.DOMConfiguration;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -90,10 +93,18 @@
* @return
* @throws ParserConfigurationException
*/
- public static Document createDocument() throws ParserConfigurationException
+ public static Document createDocument() throws ConfigurationException
{
DocumentBuilderFactory factory = getDocumentBuilderFactory();
- DocumentBuilder builder = factory.newDocumentBuilder();
+ DocumentBuilder builder;
+ try
+ {
+ builder = factory.newDocumentBuilder();
+ }
+ catch (ParserConfigurationException e)
+ {
+ throw new ConfigurationException(e);
+ }
return builder.newDocument();
}
@@ -105,7 +116,8 @@
* @throws SAXException
* @throws ParserConfigurationException
*/
- public static Document getDocument(String docString) throws
ParserConfigurationException, SAXException, IOException
+ public static Document getDocument(String docString)
+ throws ConfigurationException,ParsingException, ProcessingException
{
return getDocument(new StringReader(docString));
}
@@ -114,16 +126,32 @@
* Parse a document from a reader
* @param reader
* @return
+ * @throws ParsingException
* @throws ParserConfigurationException
* @throws IOException
* @throws SAXException
*/
public static Document getDocument(Reader reader)
- throws ParserConfigurationException, SAXException, IOException
+ throws ConfigurationException, ProcessingException, ParsingException
{
- DocumentBuilderFactory factory = getDocumentBuilderFactory();
- DocumentBuilder builder = factory.newDocumentBuilder();
- return builder.parse(new InputSource(reader));
+ try
+ {
+ DocumentBuilderFactory factory = getDocumentBuilderFactory();
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ return builder.parse(new InputSource(reader));
+ }
+ catch (ParserConfigurationException e)
+ {
+ throw new ConfigurationException(e);
+ }
+ catch (SAXException e)
+ {
+ throw new ParsingException(e);
+ }
+ catch (IOException e)
+ {
+ throw new ProcessingException(e);
+ }
}
/**
@@ -134,11 +162,27 @@
* @throws IOException
* @throws SAXException
*/
- public static Document getDocument(File file) throws ParserConfigurationException,
SAXException, IOException
+ public static Document getDocument(File file)
+ throws ConfigurationException, ProcessingException, ParsingException
{
DocumentBuilderFactory factory = getDocumentBuilderFactory();
- DocumentBuilder builder = factory.newDocumentBuilder();
- return builder.parse(file);
+ try
+ {
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ return builder.parse(file);
+ }
+ catch (ParserConfigurationException e)
+ {
+ throw new ConfigurationException(e);
+ }
+ catch (SAXException e)
+ {
+ throw new ParsingException(e);
+ }
+ catch (IOException e)
+ {
+ throw new ProcessingException(e);
+ }
}
/**
@@ -149,12 +193,27 @@
* @throws IOException
* @throws SAXException
*/
- public static Document getDocument(InputStream is) throws
ParserConfigurationException, SAXException, IOException
+ public static Document getDocument(InputStream is)
+ throws ConfigurationException, ProcessingException, ParsingException
{
DocumentBuilderFactory factory = getDocumentBuilderFactory();
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- return builder.parse(is);
+ try
+ {
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ return builder.parse(is);
+ }
+ catch (ParserConfigurationException e)
+ {
+ throw new ConfigurationException(e);
+ }
+ catch (SAXException e)
+ {
+ throw new ParsingException(e);
+ }
+ catch (IOException e)
+ {
+ throw new ProcessingException(e);
+ }
}
/**
@@ -164,7 +223,8 @@
* @throws TransformerFactoryConfigurationError
* @throws TransformerException
*/
- public static String getDocumentAsString(Document signedDoc) throws
TransformerFactoryConfigurationError, TransformerException
+ public static String getDocumentAsString(Document signedDoc)
+ throws ProcessingException, ConfigurationException
{
Source source = new DOMSource(signedDoc);
StringWriter sw = new StringWriter();
@@ -172,7 +232,14 @@
Result streamResult = new StreamResult(sw);
// Write the DOM document to the stream
Transformer xformer = getTransformer();
- xformer.transform(source, streamResult);
+ try
+ {
+ xformer.transform(source, streamResult);
+ }
+ catch (TransformerException e)
+ {
+ throw new ProcessingException(e);
+ }
return sw.toString();
}
@@ -185,7 +252,7 @@
* @throws TransformerException
*/
public static String getDOMElementAsString(Element element)
- throws TransformerFactoryConfigurationError, TransformerException
+ throws ProcessingException, ConfigurationException
{
Source source = new DOMSource(element);
StringWriter sw = new StringWriter();
@@ -193,7 +260,14 @@
Result streamResult = new StreamResult(sw);
// Write the DOM document to the file
Transformer xformer = getTransformer();
- xformer.transform(source, streamResult);
+ try
+ {
+ xformer.transform(source, streamResult);
+ }
+ catch (TransformerException e)
+ {
+ throw new ProcessingException(e);
+ }
return sw.toString();
}
@@ -206,7 +280,7 @@
* @throws TransformerException
*/
public static InputStream getNodeAsStream(Node node)
- throws TransformerFactoryConfigurationError, TransformerException
+ throws ConfigurationException, ProcessingException
{
Source source = new DOMSource(node);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -214,7 +288,14 @@
Result streamResult = new StreamResult(baos);
// Write the DOM document to the stream
Transformer transformer = getTransformer();
- transformer.transform(source, streamResult);
+ try
+ {
+ transformer.transform(source, streamResult);
+ }
+ catch (TransformerException e)
+ {
+ throw new ProcessingException(e);
+ }
ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray());
@@ -225,11 +306,12 @@
* Stream a DOM Node as a String
* @param node
* @return
+ * @throws ProcessingException
* @throws TransformerFactoryConfigurationError
* @throws TransformerException
*/
public static String getNodeAsString(Node node)
- throws TransformerFactoryConfigurationError, TransformerException
+ throws ConfigurationException, ProcessingException
{
Source source = new DOMSource(node);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -237,7 +319,14 @@
Result streamResult = new StreamResult(baos);
// Write the DOM document to the stream
Transformer transformer = getTransformer();
- transformer.transform(source, streamResult);
+ try
+ {
+ transformer.transform(source, streamResult);
+ }
+ catch (TransformerException e)
+ {
+ throw new ProcessingException(e);
+ }
return new String(baos.toByteArray());
}
@@ -339,10 +428,22 @@
return factory;
}
- private static Transformer getTransformer() throws TransformerConfigurationException,
- TransformerFactoryConfigurationError
+ private static Transformer getTransformer()
+ throws ProcessingException, ConfigurationException
{
- Transformer transformer = TransformerFactory.newInstance().newTransformer();
+ Transformer transformer;
+ try
+ {
+ transformer = TransformerFactory.newInstance().newTransformer();
+ }
+ catch (TransformerConfigurationException e)
+ {
+ throw new ConfigurationException(e);
+ }
+ catch (TransformerFactoryConfigurationError e)
+ {
+ throw new ConfigurationException(e);
+ }
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.setOutputProperty(OutputKeys.INDENT, "no");
return transformer;
Modified:
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/SOAPSAMLXACMLUtil.java
===================================================================
---
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/SOAPSAMLXACMLUtil.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-fed-core/src/main/java/org/jboss/identity/federation/core/saml/v2/util/SOAPSAMLXACMLUtil.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -30,6 +30,8 @@
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactoryConfigurationError;
+import org.jboss.identity.federation.core.exceptions.ConfigurationException;
+import org.jboss.identity.federation.core.exceptions.ProcessingException;
import org.jboss.identity.federation.core.util.JAXBUtil;
import org.jboss.identity.federation.saml.v2.profiles.xacml.assertion.ObjectFactory;
import
org.jboss.identity.federation.saml.v2.profiles.xacml.assertion.XACMLAuthzDecisionStatementType;
@@ -68,7 +70,7 @@
* @throws JAXBException
*/
public static XACMLAuthzDecisionQueryType getXACMLQueryType(Element samlRequest)
- throws TransformerFactoryConfigurationError, TransformerException, JAXBException
+ throws ConfigurationException, ProcessingException, JAXBException
{
//We reparse it because the document may have issues with namespaces
String elementString = DocumentUtil.getDOMElementAsString(samlRequest);
Modified:
identity-federation/trunk/jboss-identity-fed-core/src/test/java/org/jboss/test/identity/federation/core/wstrust/SpecialTokenProvider.java
===================================================================
---
identity-federation/trunk/jboss-identity-fed-core/src/test/java/org/jboss/test/identity/federation/core/wstrust/SpecialTokenProvider.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-fed-core/src/test/java/org/jboss/test/identity/federation/core/wstrust/SpecialTokenProvider.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -25,8 +25,7 @@
import java.net.URISyntaxException;
import java.util.Map;
-import javax.xml.parsers.ParserConfigurationException;
-
+import org.jboss.identity.federation.core.exceptions.ConfigurationException;
import org.jboss.identity.federation.core.saml.v2.common.IDGenerator;
import org.jboss.identity.federation.core.saml.v2.util.DocumentUtil;
import org.jboss.identity.federation.core.wstrust.SecurityToken;
@@ -105,7 +104,7 @@
SecurityToken token = new StandardSecurityToken(tokenType.toString(), root,
id);
context.setSecurityToken(token);
}
- catch (ParserConfigurationException pce)
+ catch (ConfigurationException pce)
{
pce.printStackTrace();
}
Modified:
identity-federation/trunk/jboss-identity-seam/src/main/java/org/jboss/identity/seam/federation/SamlAuthenticationFilter.java
===================================================================
---
identity-federation/trunk/jboss-identity-seam/src/main/java/org/jboss/identity/seam/federation/SamlAuthenticationFilter.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-seam/src/main/java/org/jboss/identity/seam/federation/SamlAuthenticationFilter.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -29,6 +29,7 @@
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
+import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
@@ -55,7 +56,6 @@
import org.jboss.identity.federation.api.saml.v2.request.SAML2Request;
import org.jboss.identity.federation.api.saml.v2.response.SAML2Response;
import org.jboss.identity.federation.core.exceptions.ConfigurationException;
-import org.jboss.identity.federation.core.exceptions.ParsingException;
import org.jboss.identity.federation.core.saml.v2.common.IDGenerator;
import org.jboss.identity.federation.core.saml.v2.common.SAMLDocumentHolder;
import org.jboss.identity.federation.core.saml.v2.constants.JBossSAMLURIConstants;
@@ -258,14 +258,10 @@
{
responseType = saml2Response.getResponseType(is);
}
- catch (ParsingException e)
+ catch (GeneralSecurityException e)
{
throw new RuntimeException(e);
- }
- catch (ConfigurationException e)
- {
- throw new RuntimeException(e);
- }
+ }
if (signatureRequired &&
!validateSignature(saml2Response.getSamlDocumentHolder()))
{
Modified:
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/filters/SPFilter.java
===================================================================
---
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/filters/SPFilter.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/filters/SPFilter.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -21,6 +21,8 @@
*/
package org.jboss.identity.federation.web.filters;
+import static org.jboss.identity.federation.core.util.StringUtil.isNotNull;
+
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -51,8 +53,6 @@
import javax.xml.bind.JAXBException;
import javax.xml.crypto.MarshalException;
import javax.xml.crypto.dsig.XMLSignatureException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
import org.apache.log4j.Logger;
import org.jboss.identity.federation.api.saml.v2.request.SAML2Request;
@@ -84,7 +84,7 @@
import org.jboss.identity.federation.core.saml.v2.interfaces.SAML2HandlerRequest;
import org.jboss.identity.federation.core.saml.v2.interfaces.SAML2HandlerResponse;
import org.jboss.identity.federation.core.saml.v2.interfaces.SAML2Handler.HANDLER_TYPE;
-import
org.jboss.identity.federation.core.saml.v2.interfaces.SAML2HandlerRequest.GENERATE_REQUEST_TYPE;
+import
org.jboss.identity.federation.core.saml.v2.interfaces.SAML2HandlerRequest.GENERATE_REQUEST_TYPE;
import org.jboss.identity.federation.core.saml.v2.util.AssertionUtil;
import org.jboss.identity.federation.core.saml.v2.util.DocumentUtil;
import org.jboss.identity.federation.core.saml.v2.util.HandlerUtil;
@@ -108,8 +108,6 @@
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
-import static org.jboss.identity.federation.core.util.StringUtil.isNotNull;
-
/**
* A service provider filter for web container agnostic
* providers
@@ -571,19 +569,7 @@
boolean request)
throws IOException, SAXException, JAXBException,GeneralSecurityException
{
- String samlMessage;
- try
- {
- samlMessage =
PostBindingUtil.base64Encode(DocumentUtil.getDocumentAsString(samlDocument));
- }
- catch (TransformerFactoryConfigurationError e)
- {
- throw new ProcessingException(e);
- }
- catch (TransformerException e)
- {
- throw new ProcessingException(e);
- }
+ String samlMessage =
PostBindingUtil.base64Encode(DocumentUtil.getDocumentAsString(samlDocument));
PostBindingUtil.sendPost(new DestinationInfoHolder(destination, samlMessage,
relayState),
response, request);
}
Modified:
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/process/ServiceProviderSAMLRequestProcessor.java
===================================================================
---
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/process/ServiceProviderSAMLRequestProcessor.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/process/ServiceProviderSAMLRequestProcessor.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -28,8 +28,6 @@
import java.util.Set;
import javax.servlet.http.HttpServletResponse;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
import org.jboss.identity.federation.api.saml.v2.request.SAML2Request;
import org.jboss.identity.federation.core.exceptions.ConfigurationException;
@@ -117,19 +115,7 @@
}
else
{
- String samlMsg;
- try
- {
- samlMsg = DocumentUtil.getDocumentAsString(samlResponseDocument);
- }
- catch (TransformerFactoryConfigurationError e)
- {
- throw new ConfigurationException(e);
- }
- catch (TransformerException e)
- {
- throw new ProcessingException(e);
- }
+ String samlMsg = DocumentUtil.getDocumentAsString(samlResponseDocument);
String base64Request =
RedirectBindingUtil.deflateBase64URLEncode(samlMsg.getBytes("UTF-8"));
String destinationURL = destination +
@@ -152,32 +138,18 @@
* @param willSendRequest are we sending Request or Response to IDP
* @throws ProcessingException
* @throws ConfigurationException
+ * @throws IOException
*/
protected void sendRequestToIDP(
String destination, Document samlDocument,String relayState,
HttpServletResponse response,
boolean willSendRequest)
- throws ProcessingException, ConfigurationException
+ throws ProcessingException, ConfigurationException, IOException
{
- try
- {
- String samlMessage = DocumentUtil.getDocumentAsString(samlDocument);
+ String samlMessage = DocumentUtil.getDocumentAsString(samlDocument);
samlMessage = PostBindingUtil.base64Encode(samlMessage);
PostBindingUtil.sendPost(new DestinationInfoHolder(destination, samlMessage,
relayState),
response, willSendRequest);
- }
- catch (TransformerFactoryConfigurationError e)
- {
- throw new ConfigurationException(e);
- }
- catch (TransformerException e)
- {
- throw new ProcessingException(e);
- }
- catch (IOException e)
- {
- throw new ProcessingException(e);
- }
}
private String getDestination(String urlEncodedRequest, String urlEncodedRelayState,
Modified:
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/IDPWebRequestUtil.java
===================================================================
---
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/IDPWebRequestUtil.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/IDPWebRequestUtil.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -21,6 +21,8 @@
*/
package org.jboss.identity.federation.web.util;
+import static org.jboss.identity.federation.core.util.StringUtil.isNotNull;
+
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -36,8 +38,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.bind.JAXBException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
import org.apache.log4j.Logger;
import org.jboss.identity.federation.api.saml.v2.request.SAML2Request;
@@ -47,6 +47,7 @@
import org.jboss.identity.federation.core.config.TrustType;
import org.jboss.identity.federation.core.exceptions.ConfigurationException;
import org.jboss.identity.federation.core.exceptions.ParsingException;
+import org.jboss.identity.federation.core.exceptions.ProcessingException;
import org.jboss.identity.federation.core.interfaces.AttributeManager;
import org.jboss.identity.federation.core.interfaces.TrustKeyManager;
import org.jboss.identity.federation.core.saml.v2.common.IDGenerator;
@@ -67,8 +68,6 @@
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
-import static org.jboss.identity.federation.core.util.StringUtil.isNotNull;
-
/**
* Request Util
* <b> Not thread safe</b>
@@ -117,7 +116,7 @@
}
public SAMLDocumentHolder getSAMLDocumentHolder(String samlMessage)
- throws ParsingException, IOException
+ throws ParsingException, ConfigurationException, ProcessingException
{
InputStream is = null;
SAML2Request saml2Request = new SAML2Request();
@@ -145,7 +144,7 @@
}
public RequestAbstractType getSAMLRequest(String samlMessage)
- throws ParsingException, IOException
+ throws ParsingException, ConfigurationException, ProcessingException
{
InputStream is = null;
SAML2Request saml2Request = new SAML2Request();
@@ -319,38 +318,26 @@
}
}
- /**
+ /**
* Send a response
* @param responseDoc
* @param relayState
- * @param response
- * @throws IOException
+ * @param response
* @throws GeneralSecurityException
+ * @throws IOException
*/
public void send(Document responseDoc, String destination,
String relayState,
HttpServletResponse response,
boolean supportSignature,
PrivateKey signingKey,
- boolean sendRequest) throws IOException, GeneralSecurityException
+ boolean sendRequest) throws GeneralSecurityException, IOException
{
if(responseDoc == null)
throw new IllegalArgumentException("responseType is null");
- byte[] responseBytes = null;
- try
- {
- responseBytes =
DocumentUtil.getDocumentAsString(responseDoc).getBytes("UTF-8");
- }
- catch (TransformerFactoryConfigurationError e)
- {
- if(trace) log.trace(e);
- }
- catch (TransformerException e)
- {
- if(trace) log.trace(e);
- }
-
+ byte[] responseBytes =
DocumentUtil.getDocumentAsString(responseDoc).getBytes("UTF-8");
+
if(redirectProfile)
{
String urlEncodedResponse =
RedirectBindingUtil.deflateBase64URLEncode(responseBytes);
Modified:
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/RedirectBindingSignatureUtil.java
===================================================================
---
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/RedirectBindingSignatureUtil.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-web/src/main/java/org/jboss/identity/federation/web/util/RedirectBindingSignatureUtil.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -21,6 +21,8 @@
*/
package org.jboss.identity.federation.web.util;
+import static org.jboss.identity.federation.core.util.StringUtil.isNotNull;
+
import java.io.IOException;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
@@ -30,15 +32,9 @@
import java.security.PublicKey;
import javax.xml.bind.JAXBException;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
import org.jboss.identity.federation.api.saml.v2.request.SAML2Request;
import org.jboss.identity.federation.api.saml.v2.response.SAML2Response;
-import org.jboss.identity.federation.core.exceptions.ConfigurationException;
-import org.jboss.identity.federation.core.exceptions.ParsingException;
-import org.jboss.identity.federation.core.exceptions.ProcessingException;
import org.jboss.identity.federation.core.saml.v2.util.DocumentUtil;
import org.jboss.identity.federation.core.saml.v2.util.SignatureUtil;
import org.jboss.identity.federation.saml.v2.protocol.AuthnRequestType;
@@ -46,8 +42,6 @@
import org.jboss.identity.federation.web.constants.GeneralConstants;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
-
-import static org.jboss.identity.federation.core.util.StringUtil.isNotNull;
/**
@@ -98,41 +92,18 @@
* @return
* @throws IOException
* @throws GeneralSecurityException
+ * @throws JAXBException
*/
public static String getSAMLResponseURLWithSignature(ResponseType responseType, String
relayState,
- PrivateKey signingKey) throws IOException, GeneralSecurityException
+ PrivateKey signingKey) throws IOException, GeneralSecurityException,
JAXBException
{
SAML2Response saml2Response = new SAML2Response();
- Document responseDoc = null;
-
- try
- {
- responseDoc = saml2Response.convert(responseType);
- }
- catch (JAXBException e)
- {
- throw new ParsingException(e);
- }
- catch (ParserConfigurationException e)
- {
- throw new ParsingException(e);
- }
+ Document responseDoc = saml2Response.convert(responseType);
+
//URL Encode the Request
- String responseString;
- try
- {
- responseString = DocumentUtil.getDocumentAsString(responseDoc);
- }
- catch (TransformerFactoryConfigurationError e)
- {
- throw new ConfigurationException(e);
- }
- catch (TransformerException e)
- {
- throw new ProcessingException(e);
- }
+ String responseString = DocumentUtil.getDocumentAsString(responseDoc);
String urlEncodedResponse =
RedirectBindingUtil.deflateBase64URLEncode(responseString);
Modified:
identity-federation/trunk/jboss-identity-web/src/test/java/org/jboss/test/identity/federation/web/mock/MockFilterConfig.java
===================================================================
---
identity-federation/trunk/jboss-identity-web/src/test/java/org/jboss/test/identity/federation/web/mock/MockFilterConfig.java 2009-10-27
21:08:12 UTC (rev 878)
+++
identity-federation/trunk/jboss-identity-web/src/test/java/org/jboss/test/identity/federation/web/mock/MockFilterConfig.java 2009-10-27
21:40:24 UTC (rev 879)
@@ -58,7 +58,8 @@
return params.get(arg0);
}
- public Enumeration<?> getInitParameterNames()
+ @SuppressWarnings("unchecked")
+ public Enumeration getInitParameterNames()
{
throw new RuntimeException("NYI");
}