[ 
https://issues.apache.org/jira/browse/RAMPART-317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thilina Buddhika updated RAMPART-317:
-------------------------------------

    Attachment: RAMPART-317.patch

The patch attached herewith fixes the above mentioned issue. It checks the 
subject confirmation method of the token and does not try to extract KeyInfo 
from the token if it is Bearer subject confirmation.

> Rampart Trust implementation does not properly handle SAML token with Bearer 
> subject confirmation method.
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: RAMPART-317
>                 URL: https://issues.apache.org/jira/browse/RAMPART-317
>             Project: Rampart
>          Issue Type: Bug
>          Components: rampart-trust
>    Affects Versions: 1.5
>            Reporter: Thilina Buddhika
>         Attachments: RAMPART-317.patch
>
>
> Rampart always assumes the SAML tokens to be issued with HoK subject 
> confirmation. When it receives a token with the Bearer subject confirmation 
> method, it tries to retrieve the keyinfo from the assertion which is not 
> available in case of bearer subject confirmation.
> Following is the stack trace returned in such a scenario.
> [2011-01-04 10:42:03,528] ERROR - ServerWorker Error processing POST request 
> org.apache.axis2.AxisFault: General security error (SAML token security 
> failure); nested exception is: 
>       org.apache.xml.security.exceptions.XMLSecurityException: Cannot create 
> an ElementProxy from a null argument
>       at 
> org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:166)
>       at 
> org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:95)
>       at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
>       at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:259)
>       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:165)
>       at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173)
>       at 
> org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:404)
>       at 
> org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:260)
>       at 
> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:662)
> Caused by: org.apache.ws.security.WSSecurityException: General security error 
> (SAML token security failure); nested exception is: 
>       org.apache.xml.security.exceptions.XMLSecurityException: Cannot create 
> an ElementProxy from a null argument
>       at 
> org.apache.ws.security.saml.SAMLUtil.getSAMLKeyInfo(SAMLUtil.java:157)
>       at org.apache.rampart.RampartEngine.process(RampartEngine.java:237)
>       at 
> org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
>       ... 10 more
> Caused by: org.apache.xml.security.exceptions.XMLSecurityException: Cannot 
> create an ElementProxy from a null argument
>       at org.apache.xml.security.utils.ElementProxy.<init>(Unknown Source)
>       at org.apache.xml.security.utils.SignatureElementProxy.<init>(Unknown 
> Source)
>       at org.apache.xml.security.keys.KeyInfo.<init>(Unknown Source)
>       at 
> org.apache.ws.security.saml.SAMLUtil.getSAMLKeyInfo(SAMLUtil.java:140)
>       ... 12 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to