Now RST contains <wst:Renewing Allow="false"/>, but ADFS still doesn't like
it. It looks like that ADFS simply doesn't under stand <Renewing> tag.
I have done very same thing with Metro. Following is RST that Metro
generated for same situation. I was able to get back RSTR from ADFS2.0
using this RST.



---[HTTP request -
https://strts01.ams.dev/adfs/services/trust/13/usernamemixed]---
Accept: application/soap+xml, multipart/related
Content-Type: application/soap+xml; charset=utf-8;action="
http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue";
User-Agent: Metro/2.2 (branches/2.2-7015; 2012-02-20T20:31:25+0000)
JAXWS-RI/2.2.6 JAXWS/2.2 svn-revision#unknown
<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="
http://www.w3.org/2003/05/soap-envelope"; xmlns:wsse11="
http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd";
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
wssecurity-secext-1.0.xsd" xmlns:wsu="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:ds="
http://www.w3.org/2000/09/xmldsig#"; xmlns:saml="urn:oasis:names:tc:SAML:1.
0:assertion"><S:Header><To xmlns="
http://www.w3.org/2005/08/addressing";>https://strts01.ams.dev/adfs/services/trust/13/usernamemixed</To><Actionxmlns="
http://www.w3.org/2005/08/addressing";>http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue</
Action><ReplyTo xmlns="http://www.w3.org/2005/08/addressing";>
    <Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
</ReplyTo><FaultTo xmlns="http://www.w3.org/2005/08/addressing";>
    <Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
</FaultTo><MessageID xmlns="
http://www.w3.org/2005/08/addressing";>uuid:7973d55b-599a-4dca-b19a-b09f1b1d33f8</MessageID><wsse:SecurityS:mustUnderstand="true"><wsu:Timestamp
xmlns:ns16="
http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512"; xm
lns:ns15="http://schemas.xmlsoap.org/soap/envelope/";
wsu:Id="_1"><wsu:Created>2012-05-03T13:28:40Z</wsu:Created><wsu:Expires>2012-05-03T13:33:40Z</wsu:Expires></wsu:Timestamp><wsse:UsernameToken
xmlns:ns16="http://docs.oasis-open.org/ws-sx/ws-securec
onversation/200512" xmlns:ns15="http://schemas.xmlsoap.org/soap/envelope/";
wsu:Id="uuid_ce954da0-8be0-4e0f-b5d2-37eccb7e8b80"><wsse:Username>GLOBAL\gchoi</wsse:Username><wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-user
name-token-profile-1.0#PasswordText">Today0001</wsse:Password></wsse:UsernameToken></wsse:Security></S:Header><S:Body><trust:RequestSecurityToken
xmlns:ns10="http://www.w3.org/2000/09/xmldsig#"; xmlns:ns13="
http://www.w3.org/2001/10/xml-exc-c14n#"; xml
ns:ns4="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd";
xmlns:ns5="http://docs.oasis-open.org/ws-sx/ws-trust/200512/"; xmlns:ns9="
http://schemas.xmlsoap.org/ws/2006/02/addressingidentity"; xmlns:sc="
http://docs.oasis-open.org/ws-sx/
ws-secureconversation/200512" xmlns:trust="
http://docs.oasis-open.org/ws-sx/ws-trust/200512"; xmlns:wsa="
http://www.w3.org/2005/08/addressing"; xmlns:wsp="
http://schemas.xmlsoap.org/ws/2004/09/policy"; xmlns:wsse="
http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wst="
http://schemas.xmlsoap.org/ws/2005/02/trust"; xmlns:wsu="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";><trust:RequestType>http://docs.oasis-open.org/ws-sx/ws
-
trust/200512/Issue</trust:RequestType><wsp:AppliesTo><wsa:EndpointReference><wsa:Address>
https://wkengchoi.global.sdl.corp:8443/doubleit/services/doubleit
</wsa:Address></wsa:EndpointReference></wsp:AppliesTo><trust:SecondaryParameters><trust:TokenTyp
e>urn:oasis:names:tc:SAML:2.0:assertion</trust:TokenType><trust:KeyType>
http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey</trust:KeyType><trust:KeySize>256</trust:KeySize></trust:SecondaryParameters><trust:Entropy><trust:BinarySecret
Type
="
http://docs.oasis-open.org/ws-sx/ws-trust/200512/Nonce";>el//qSeAtHGClOcpevZ24qDf3kjxuzMcoJ8lzjq2Fps=</trust:BinarySecret></trust:Entropy><trust:ComputedKeyAlgorithm>http://docs.oasis-open.org/ws-sx/ws-trust/200512/CK/PSHA1</trust:ComputedKeyAlgorit
hm></trust:RequestSecurityToken></S:Body></S:Envelope>--------------------




Following is error message from ADFS2.0.

-------------- ADFS Error messag ---------------------------

The Federation Service encountered an error while processing the WS-Trust
request.

Request type: http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue

Additional Data

Exception details:

Microsoft.IdentityModel.SecurityTokenService.InvalidRequestException:
MSIS3137: The RequestSecurityTokenElement contained an unsupported WS-Trust
parameter: 'Renewing'.

at
Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.ValidateRequest(RequestSecurityToken
request)

at
Microsoft.IdentityModel.SecurityTokenService.SecurityTokenService.BeginIssue(IClaimsPrincipal
principal, RequestSecurityToken request, AsyncCallback callback, Object
state)

at
Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.DispatchRequestAsyncResult..ctor(DispatchContext
dispatchContext, AsyncCallback asyncCallback, Object asyncState)

at
Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.BeginDispatchRequest(DispatchContext
dispatchContext, AsyncCallback asyncCallback, Object asyncState)

at
Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.ProcessCoreAsyncResult..ctor(WSTrustServiceContract
contract, DispatchContext dispatchContext, MessageVersion messageVersion,
WSTrustResponseSerializer responseSerializer, WSTrustSerializationContext
serializationContext, AsyncCallback asyncCallback, Object asyncState)

at
Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.BeginProcessCore(Message
requestMessage, WSTrustRequestSerializer requestSerializer,
WSTrustResponseSerializer responseSerializer, String requestAction, String
responseAction, String trustNamespace, AsyncCallback callback, Object state)


On Wed, Jun 6, 2012 at 12:17 PM, Colm O hEigeartaigh <[email protected]>wrote:

>
> > I have verified fix for CXF-4357 and added comment to it. Please let me
> know if I need to close this ticket. Thanks.
>
> No, it only closes after a release goes out that contains the fix.
>
>
> > Now client is able to send RST to STS, but STS(ADFS2.0) failed
> generating RSTR because of an empty <wst:Renewing>tag embedded inside
> > RST. ADFS does not support Token renewing. Why do we have Renewing tag
> inside issue request?
>
> The Renewing tag simply requests that an issued token that can be renewed.
> You could try setting the following property "allowRenewing" to "false" on
> the STSClient. That will send a request with "<wst:Renewing
> Allow="false/>". I'm not sure if ADFS 2.0 will reject this or not. Let me
> know if it works or not.
>
> Colm.
>
>
> On Wed, Jun 6, 2012 at 4:26 PM, Gina Choi <[email protected]> wrote:
>
>> Hi Colm,
>>
>> I have verified fix for CXF-4357 and added comment to it. Please let me
>> know if I need to close this ticket. Thanks.
>> Now client is able to send RST to STS, but STS(ADFS2.0) failed generating
>> RSTR because of an empty <wst:Renewing>tag embedded inside RST. ADFS does
>> not support Token renewing. Why do we have Renewing tag inside issue
>> request?
>>
>> Following is the RST generated by CXF and sent to ADFS2.0.
>>
>>
>> Payload: <soap:Envelope xmlns:soap="
>> http://www.w3.org/2003/05/soap-envelope";><soap:Header><Action xmlns="
>> http://www.w3.org/2005/08/addressing";>
>> http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue</Action><MessageIDxmlns="
>> http://www.w3.org/2005/08/addressing";>urn:uuid:711a1518-8b69-49fc-a0b8-ac36eccb3400</MessageID><To
>> xmlns="http://www.w3.org/2005/08/addressing"; xmlns:wsu="
>> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
>> wsu:Id="Id-24027959">
>> https://strts01.ams.dev/adfs/services/trust/13/usernamemixed</To><ReplyToxmlns="
>> http://www.w3.org/2005/08/addressing";><Address>
>> http://www.w3.org/2005/08/addressing/anonymous</Address></ReplyTo><wsse:Securityxmlns:wsse="
>> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
>> xmlns:wsu="
>> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
>> soap:mustUnderstand="true"><wsu:Timestamp
>> wsu:Id="TS-1"><wsu:Created>2012-06-06T14:19:05.547Z</wsu:Created><wsu:Expires>2012-06-06T14:24:05.547Z</wsu:Expires></wsu:Timestamp><wsse:UsernameToken
>> wsu:Id="UsernameToken-2"><wsse:Username>GLOBAL\gchoi</wsse:Username><wsse:Password
>> Type="<http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText>
>> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText<http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText%22%3Exxxxxx%3C/wsse:Password%3E%3C/wsse:UsernameToken%3E%3C/wsse:Security%3E%3C/soap:Header%3E%3Csoap:Body%3E%3Cwst:RequestSecurityToken><http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText%22%3Exxxxxx%3C/wsse:Password%3E%3C/wsse:UsernameToken%3E%3C/wsse:Security%3E%3C/soap:Header%3E%3Csoap:Body%3E%3Cwst:RequestSecurityToken>">xxxxxx</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header><soap:Body><wst:RequestSecurityToken
>> xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512";><wst:SecondaryParameters><t:TokenType
>> xmlns:t="http://docs.oasis-open.org/ws-sx/ws-trust/200512";>
>> http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</t:TokenType><t:KeyTypexmlns:t="
>> http://docs.oasis-open.org/ws-sx/ws-trust/200512";>
>> http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey</t:KeyType><t:KeySizexmlns:t="
>> http://docs.oasis-open.org/ws-sx/ws-trust/200512
>> ">256</t:KeySize></wst:SecondaryParameters><wst:RequestType>
>> http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</wst:RequestType><wsp:AppliesToxmlns:wsp="
>> http://schemas.xmlsoap.org/ws/2004/09/policy";><wsa:EndpointReference
>> xmlns:wsa="http://www.w3.org/2005/08/addressing";><wsa:Address>
>> https://wkengchoi.global.sdl.corp:8443/doubleit/services/doubleit</wsa:Address></wsa:EndpointReference></wsp:AppliesTo><wst:Entropy><wst:BinarySecretType="
>> http://docs.oasis-open.org/ws-sx/ws-trust/200512/Nonce
>> ">hzeje+CdyWW3V2d6y12WbYZkrSLfMM6E+W4g6Gs+5VI=</wst:BinarySecret></wst:Entropy><wst:ComputedKeyAlgorithm>
>> http://docs.oasis-open.org/ws-sx/ws-trust/200512/CK/PSHA1</wst:ComputedKeyAlgorithm><wst:Renewing/></wst:RequestSecurityToken></soap:Body></soap:Envelope
>> >
>>
>> On Tue, Jun 5, 2012 at 3:55 PM, Gina Choi <[email protected]> wrote:
>>
>>> Hi Colm,
>>>
>>> Thanks for the quick fix. I am planning to check it once your fix
>>> reflected to 2.6.2-SNAPSHOT.
>>>
>>> Gina
>>>
>>> On Tue, Jun 5, 2012 at 7:14 AM, Colm O hEigeartaigh <[email protected]
>>> > wrote:
>>>
>>>>
>>>> The NPE you were seeing is now fixed on trunk, if you want to test with
>>>> the latest CXF 2.6.2-SNAPSHOT code. You will need to make sure that the WSC
>>>> has a keystore with a private key to support the KeyValueToken policy.
>>>>
>>>> Colm.
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Jun 5, 2012 at 10:14 AM, Colm O hEigeartaigh <
>>>> [email protected]> wrote:
>>>>
>>>>>
>>>>> Is the client successfully invoking on the STS? In other words, is
>>>>> this error occurring when the client is sending a message to the STS or to
>>>>> the WSP?
>>>>>
>>>>> Colm
>>>>
>>>>
>
>
> --
> Colm O hEigeartaigh
>
> Talend Community Coder
> http://coders.talend.com
>
>

Reply via email to