NPE in WSS4J due to null Cryptos when using ws-security.*.crypto instead of
ws-security.*.properties
----------------------------------------------------------------------------------------------------
Key: CXF-2899
URL: https://issues.apache.org/jira/browse/CXF-2899
Project: CXF
Issue Type: Bug
Components: Documentation
Affects Versions: 2.2.9
Environment: All apply, but this was discovered on 64bit Ubuntu
Reporter: Ravi Luthra
Null pointer exception in the given stack trace (see below). Turns out the
Crypto objects are null which is caused by a documentation issue on this page:
http://cxf.apache.org/docs/ws-securitypolicy.html
I originally implemented my properties at runtime (using Java code directly) by
setting up the Crypto object directly (using the Merlin class) and used the
properties on the above mentioned URL: ws-security.signature.crypto and
ws-security.encryption.crypto. These properties work until the stack reaches
into the WSS4J boundary. The fix was to use the properties
ws-security.signature.properties and ws-security.encryption.properties as these
are the ones considered during the hand-off to WSS4J, not the
ws-security.*.crypto properties. The stack trace went away when I used the
other properties.
java.lang.NullPointerException
at
org.apache.ws.security.message.token.X509Security.getX509Certificate(X509Security.java:92)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.getCertificatesTokenReference(BinarySecurityTokenProcessor.java:105)
at
org.apache.ws.security.processor.BinarySecurityTokenProcessor.handleToken(BinarySecurityTokenProcessor.java:81)
at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:326)
at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:243)
at
org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:208)
at
org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:78)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
at
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:423)
... Unrelated portion of stack
The fix I am asking for is a fix in the documentation next to the .crypto
properties.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.