Package org.apache.cxf.ws.security.wss4j
Class CryptoCoverageChecker
java.lang.Object
org.apache.cxf.phase.AbstractPhaseInterceptor<org.apache.cxf.binding.soap.SoapMessage>
org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor
org.apache.cxf.ws.security.wss4j.CryptoCoverageChecker
- All Implemented Interfaces:
org.apache.cxf.binding.soap.interceptor.SoapInterceptor,org.apache.cxf.interceptor.Interceptor<org.apache.cxf.binding.soap.SoapMessage>,org.apache.cxf.phase.PhaseInterceptor<org.apache.cxf.binding.soap.SoapMessage>
- Direct Known Subclasses:
DefaultCryptoCoverageChecker
public class CryptoCoverageChecker
extends org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor
Utility to enable the checking of WS-Security signature/encryption
coverage based on the results of the WSS4J processors. This interceptor
provides an alternative to using WS-Policy based configuration for crypto
coverage enforcement.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA simple wrapper for an XPath expression and coverage type / scope indicating how the XPath expression should be enforced as a cryptographic coverage requirement. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance.CryptoCoverageChecker(Map<String, String> prefixes, List<CryptoCoverageChecker.XPathExpression> xPaths) Creates a new instance that checks for signature coverage over matches to the provided XPath expressions making defensive copies of provided arguments. -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddPrefixes(Map<String, String> prefixes) Adds the mapping of namespace prefixes to namespace URIs, adding to any previously set mappings.final voidAdds the XPath expressions to check for, adding to any previously set expressions.voidhandleMessage(org.apache.cxf.binding.soap.SoapMessage message) Checks that the WSS4J results refer to the required signed/encrypted elements as defined by the XPath expressions inxPaths.booleanvoidsetCheckFaults(boolean checkFaults) final voidsetPrefixes(Map<String, String> prefixes) Sets the mapping of namespace prefixes to namespace URIs, clearing all previously set mappings.final voidSets the XPath expressions to check for, clearing all previously set expressions.Methods inherited from class org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor
getFaultCodePrefix, getRoles, getUnderstoodHeaders, prepareStackTraceMethods inherited from class org.apache.cxf.phase.AbstractPhaseInterceptor
addAfter, addAfter, addBefore, addBefore, getAdditionalInterceptors, getAfter, getBefore, getId, getPhase, handleFault, isGET, isRequestor, setAfter, setBeforeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.cxf.interceptor.Interceptor
handleFault
-
Field Details
-
xPaths
The XPath expressions for locating elements in SOAP messages that must be covered. SeeprefixMapfor namespace prefixes available. -
prefixMap
Mapping of namespace prefixes to namespace URIs.
-
-
Constructor Details
-
CryptoCoverageChecker
public CryptoCoverageChecker()Creates a new instance. See#setPrefixes()and#setXpaths()for providing configuration options. -
CryptoCoverageChecker
public CryptoCoverageChecker(Map<String, String> prefixes, List<CryptoCoverageChecker.XPathExpression> xPaths) Creates a new instance that checks for signature coverage over matches to the provided XPath expressions making defensive copies of provided arguments.- Parameters:
prefixes- mapping of namespace prefixes to namespace URIsxPaths- a list of XPath expressions
-
-
Method Details
-
handleMessage
public void handleMessage(org.apache.cxf.binding.soap.SoapMessage message) throws org.apache.cxf.interceptor.Fault Checks that the WSS4J results refer to the required signed/encrypted elements as defined by the XPath expressions inxPaths.- Parameters:
message- the SOAP message containing the signature- Throws:
org.apache.cxf.binding.soap.SoapFault- if there is an error evaluating an XPath or an element is not covered by the required cryptographic operationorg.apache.cxf.interceptor.Fault
-
setXPaths
Sets the XPath expressions to check for, clearing all previously set expressions.- Parameters:
xpaths- the XPath expressions to check for
-
addXPaths
Adds the XPath expressions to check for, adding to any previously set expressions.- Parameters:
xpaths- the XPath expressions to check for
-
setPrefixes
Sets the mapping of namespace prefixes to namespace URIs, clearing all previously set mappings.- Parameters:
prefixes- the mapping of namespace prefixes to namespace URIs
-
addPrefixes
Adds the mapping of namespace prefixes to namespace URIs, adding to any previously set mappings.- Parameters:
prefixes- the mapping of namespace prefixes to namespace URIs
-
isCheckFaults
public boolean isCheckFaults() -
setCheckFaults
public void setCheckFaults(boolean checkFaults)
-