Just an FYI: my fix is committed so the latest snapshots should work with the 
other parsers.   

Dan

On Tuesday 02 March 2010 11:01:53 am John Hite wrote:
> I was using stax-ex because it was required by xwss, which I use to build
> my SAML Token. I switched to woodstox on the client side and it serializes
> the request properly now.
> 
> I also figured out my Token ID problem. I wasn't including a
> RequestedAttachedReference which was necessary since SAML tokens don't
> have a wsu:Id attribute.
> 
> Thanks,
> John
> 
> -----Original Message-----
> From: Daniel Kulp [mailto:[email protected]]
> Sent: Monday, March 01, 2010 10:20 PM
> To: [email protected]
> Cc: John Hite
> Subject: Re: STSClient in CXF 2.2.6 not binding wst prefix.
> 
> 
> Do you know what stax parser you are picking up?   Can you check to make
> sure woodstox is there?
> 
> That said, I see what is going on and am testing a fix now.
> 
> Dan
> 
> On Mon March 1 2010 2:19:14 pm John Hite wrote:
> > Hi, I am trying to create an STS using CXF. Right now I have a very basic
> > STS implementation that just returns a hard coded SAML 2.0 token. Right
> > now I am just creating the STS client and calling requestSecurityToken().
> > I was using CXF 2.2.5 and I was able send the request and get my hard
> > coded saml token back but the STSClient was throwing an exception saying
> > that it could not determine a Token ID from RequestSecurityToken
> > Response. I tried using CXF 2.2.6 but the message that the STS client
> > sends is not valid.
> > 
> > CXF 2.2.5 message
> > <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/w
> > s -sx/ws-trust/200512/RST/Issue</Action> <MessageID
> > xmlns="http://www.w3.org/2005/08/addressing";>urn:uuid:011b65c5-dffd-4ddb-
> > 9 ab5-56ec9dd357fe</MessageID> <To
> > xmlns="http://www.w3.org/2005/08/addressing";>http://localhost/services/st
> > s </To> <ReplyTo xmlns="http://www.w3.org/2005/08/addressing";>
> > 
> >       <Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
> >     
> >     </ReplyTo>
> >   
> >   </soap:Header>
> >   <soap:Body>
> >   
> >     <wst:RequestSecurityToken
> > 
> > xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512";>
> > <wst:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</
> > w st:RequestType>
> > <wst:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKe
> > y </wst:KeyType> <wst:KeySize>256</wst:KeySize>
> > 
> >       <wst:Entropy>
> >       
> >         <wst:BinarySecret
> > 
> > Type="http://docs.oasis-open.org/ws-sx/ws-trust/200512/Nonce";>7ZKTA8MENMk
> > = </wst:BinarySecret> </wst:Entropy>
> > 
> > <wst:ComputedKeyAlgorithm>http://docs.oasis-open.org/ws-sx/ws-trust/20051
> > 2 /CK/PSHA1</wst:ComputedKeyAlgorithm> </wst:RequestSecurityToken>
> > 
> >   </soap:Body>
> > 
> > </soap:Envelope>
> > 
> > CXF 2.2.6 message
> > <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/w
> > s -sx/ws-trust/200512/RST/Issue</Action> <MessageID
> > xmlns="http://www.w3.org/2005/08/addressing";>urn:uuid:5a5d50d4-f6f4-4d92-
> > a 6e7-2a98dbd2f1a5</MessageID> <To
> > xmlns="http://www.w3.org/2005/08/addressing";>http://localhost/services/st
> > s </To> <ReplyTo xmlns="http://www.w3.org/2005/08/addressing";>
> > 
> >       <Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
> >     
> >     </ReplyTo>
> >   
> >   </soap:Header>
> >   <soap:Body>
> >   
> >     <wst:RequestSecurityToken>
> > 
> > <wst:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</
> > w st:RequestType>
> > <wst:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKe
> > y </wst:KeyType> <wst:KeySize>256</wst:KeySize>
> > 
> >       <wst:Entropy>
> >       
> >         <wst:BinarySecret
> > 
> > Type="http://docs.oasis-open.org/ws-sx/ws-trust/200512/Nonce";>cLzr27D8kZs
> > = </wst:BinarySecret> </wst:Entropy>
> > 
> > <wst:ComputedKeyAlgorithm>http://docs.oasis-open.org/ws-sx/ws-trust/20051
> > 2 /CK/PSHA1</wst:ComputedKeyAlgorithm> </wst:RequestSecurityToken>
> > 
> >   </soap:Body>
> > 
> > </soap:Envelope>
> > 
> > Notice the missing wst namespace binding on <wst:RequestSecurityToken>.
> > Anyone know what is causing this?
> > 
> > 
> > Here's the response I send from the STS's Issue method.
> > 
> > <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/w
> > s -sx/ws-trust/200512/RST/Issue</Action> <MessageID
> > xmlns="http://www.w3.org/2005/08/addressing";>urn:uuid:4f9fed96-7d08-40f2-
> > b 6fb-3f59361dfd69</MessageID> <To
> > xmlns="http://www.w3.org/2005/08/addressing";>http://www.w3.org/2005/08/ad
> > d ressing/anonymous</To> <RelatesTo
> > xmlns="http://www.w3.org/2005/08/addressing";>urn:uuid:bf2877a6-effc-488e-
> > 9 e43-6592c6146263</RelatesTo> </soap:Header>
> > 
> >   <soap:Body>
> >   
> >     <ns2:RequestSecurityTokenResponse xmlns="http://service.example.com";
> > 
> > xmlns:ns2="http://docs.oasis-open.org/ws-sx/ws-trust/200512";>
> > <ns2:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profil
> > e -1.1#SAMLV2.0</ns2:TokenType> <ns2:RequestedSecurityToken>
> > 
> >         <saml2:Assertion
> > 
> > xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
> > xmlns:ds="http://www.w3.org/2000/09/xmldsig#";
> > xmlns:exc14n="http://www.w3.org/2001/10/xml-exc-c14n#";
> > xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";
> > xmlns:xs="http://www.w3.org/2001/XMLSchema"; ID="12345"
> > IssueInstant="2010-03-01T14:12:17.649-05:00" Version="2.0"> <saml2:Issuer
> > Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
> > NameQualifier="nycapt35k.com">http://service.example.com</saml2:Issuer>
> > <ds:Signature>
> > 
> >             <ds:SignedInfo>
> >             
> >               <ds:CanonicalizationMethod
> > 
> > Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod
> > Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <ds:Reference
> > URI="#12345">
> > 
> >                 <ds:Transforms>
> >                 
> >                   <ds:Transform
> > 
> > Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
> > <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
> > </ds:Transforms>
> > 
> >                 <ds:DigestMethod
> > 
> > Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
> > <ds:DigestValue>YjV9NMHmUX/6uMK23I0e/ZsQyWk=</ds:DigestValue>
> > </ds:Reference>
> > 
> >             </ds:SignedInfo>
> >             <ds:SignatureValue>
> > 
> > K9OkRkOrCTWWq0GsDqsdiz7ZO6Do0/hcrJ3sXo80H9wERrCZnOl6ruSWZHAOCpm+1oaieDIDW
> > y R8
> > FzZnjuE60aSQWXCZfgDQDs/ldEEg7B1KR4nzYnRl0PlFMeFZzlTT2CLIOnexwMrfPBihNktz4
> > J cB rRt0VwNAABCsPen9oSU=
> > 
> >             </ds:SignatureValue>
> >             <ds:KeyInfo>
> >             
> >               <ds:KeyValue>
> >               
> >                 <ds:RSAKeyValue>
> >                 
> >                   <ds:Modulus>
> > 
> > hP+W377YbK5AkrcEINzfaTR/YNk2lDgRia8FVeoOr8guwxKwsuvQ+9Nq7F74i53Y7my2fV+8W
> > w WN
> > R/5ewSbSTpzYYVH1SAxp+EcZNkedP6f6x+W6uVIkm2W3jg2k+h9yV3l2e9iJXbQ61nGNbMetK
> > w gr Wmy0vFNaq5DhLPQi8D8=
> > 
> >                   </ds:Modulus>
> >                   <ds:Exponent>AQAB</ds:Exponent>
> >                 
> >                 </ds:RSAKeyValue>
> >               
> >               </ds:KeyValue>
> >             
> >             </ds:KeyInfo>
> >           
> >           </ds:Signature>
> >           <saml2:Subject>
> >           
> >             <saml2:NameID
> > 
> > Format="urn:oasis:names:tc:SAML:1.1:nameid-format:x509SubjectName"
> > NameQualifier="example.com">jdoe</saml2:NameID> </saml2:Subject>
> > 
> >           <saml2:AuthnStatement
> > 
> > AuthnInstant="2010-03-01T14:12:17.649-05:00"> <saml2:AuthnContext>
> > 
> > <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Passwo
> > r d</saml2:AuthnContextClassRef> <saml2:AuthenticatingAuthority/>
> > 
> >             </saml2:AuthnContext>
> >           
> >           </saml2:AuthnStatement>
> >         
> >         </saml2:Assertion>
> >       
> >       </ns2:RequestedSecurityToken>
> >     
> >     </ns2:RequestSecurityTokenResponse>
> >   
> >   </soap:Body>
> > 
> > </soap:Envelope>

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog

Reply via email to