org.opensaml.saml2.binding.decoding
Class HTTPRedirectDeflateDecoder

java.lang.Object
  extended by org.opensaml.common.binding.decoding.impl.AbstractMessageDecoder<javax.servlet.http.HttpServletRequest>
      extended by org.opensaml.common.binding.decoding.impl.AbstractHTTPMessageDecoder
          extended by org.opensaml.saml2.binding.decoding.HTTPRedirectDeflateDecoder
All Implemented Interfaces:
HTTPMessageDecoder, MessageDecoder<javax.servlet.http.HttpServletRequest>

public class HTTPRedirectDeflateDecoder
extends AbstractHTTPMessageDecoder

SAML 2.0 HTTP Redirect decoder using the DEFLATE encoding method. This decoder only supports DEFLATE compression and DSA-SHA1 and RSA-SHA1 signatures.


Field Summary
static java.lang.String BINDING_URI
          URI for this binding.
 
Constructor Summary
HTTPRedirectDeflateDecoder()
           
 
Method Summary
 void decode()
          Decodes a SAML message in a binding specific manner.
protected  java.io.InputStream decodeMessage(java.lang.String message)
          Base64 decodes the SAML message and then decompresses the message.
 java.lang.String getBindingURI()
          Gets the binding URI supported by this encoder.
 java.lang.String getSignatureAlgorithm()
          Gets the signature algorithm used to sign the message.
 boolean isSigned()
          Gets whether the decoded message was signed.
 
Methods inherited from class org.opensaml.common.binding.decoding.impl.AbstractHTTPMessageDecoder
getMethod, getRelayState, setHttpMethod, setRelayState
 
Methods inherited from class org.opensaml.common.binding.decoding.impl.AbstractMessageDecoder
evaluateSecurityPolicy, getMetadataProvider, getParserPool, getRequest, getSAMLMessage, getSecurityPolicy, getTrustEngine, setMetadataProvider, setParserPool, setRequest, setSAMLMessage, setSecurityPolicy, setTrustEngine, unmarshallMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.opensaml.common.binding.decoding.MessageDecoder
getMetadataProvider, getRequest, getSAMLMessage, getSecurityPolicy, getTrustEngine, setMetadataProvider, setRequest, setSecurityPolicy, setTrustEngine
 

Field Detail

BINDING_URI

public static final java.lang.String BINDING_URI
URI for this binding.

See Also:
Constant Field Values
Constructor Detail

HTTPRedirectDeflateDecoder

public HTTPRedirectDeflateDecoder()
Method Detail

getBindingURI

public java.lang.String getBindingURI()
Gets the binding URI supported by this encoder.

Returns:
binding URI supported by this encoder

isSigned

public boolean isSigned()
Gets whether the decoded message was signed.

Returns:
whether the decoded message was signed

getSignatureAlgorithm

public java.lang.String getSignatureAlgorithm()
Gets the signature algorithm used to sign the message.

Returns:
signature algorithm used to sign the message, or null if the message was not signed

decode

public void decode()
            throws BindingException,
                   SecurityPolicyException
Decodes a SAML message in a binding specific manner.

Throws:
BindingException - thrown if the message can not be decoded
SecurityPolicyException - thrown if the decoded message does not meet the required security policy

decodeMessage

protected java.io.InputStream decodeMessage(java.lang.String message)
                                     throws BindingException
Base64 decodes the SAML message and then decompresses the message.

Parameters:
message - Base64 encoded, DEFALTE compressed, SAML message
Returns:
the SAML message
Throws:
BindingException - thrown if the message can not be decoded