> Question: what should be the expected value of 'ws-security.username' & > 'ws-security.sts.token.username'?
Assuming that the STS has a UsernameToken policy requirement, the 'ws-security.username' is used to used as the "username". Alternatively, it is used as the keystore alias if this is required by the security policy. 'ws-security.sts.token.username' is the keystore alias to use if you are sending a certificate to the STS as part of "UseKey" (required if the KeyType is PublicKey). As the security policy you are using is "SymmetricKey" you don't need any of the "ws-security.sts.token.*" properties. Colm. On Wed, Sep 24, 2014 at 10:54 AM, niranjana.murthy < [email protected]> wrote: > The problem still exists. > > *Here is the bean configuration: I did not have the properties mapping > earlier, added it on your suggestion > * > <bean id="stsClientFederation" > class="org.apache.cxf.ws.security.trust.STSClient" scope="prototype"> > <constructor-arg ref="cxf" /> > <property name="wsdlLocation" value="adfs.wsdl" /> > <property name="sendRenewing" value="false" /> > <property name="serviceName" > value="{ > http://schemas.microsoft.com/ws/2008/06/identity/securitytokenservice}SecurityTokenService > "/> > <property name="endpointName" > value="{ > http://schemas.microsoft.com/ws/2008/06/identity/securitytokenservice}IssuedTokenWSTrustBinding_IWSTrust13Async1 > "/> > <property name="addressingNamespace" > value="http://www.w3.org/2005/08/addressing" /> > <property name="enableAppliesTo" value="true" /> > <property name="properties"> > <map> > <entry key="ws-security.username" value="username"/> > <entry key="ws-security.callback-handler" > value="clientKeystore.PasswordCallbackHandler"/> > <entry key="ws-security.sts.token.username" > value="clientstskey"/> > <entry key="ws-security.sts.token.properties" > value="clientKeystore.properties"/> > <entry key="ws-security.sts.token.usecert" value="true"/> > </map> > </property> > </bean> > > > Question: > what should be the expected value of 'ws-security.username' & > 'ws-security.sts.token.username'? > > > ------------------------------------------------------------------------------------------------------------------ > *Security policy, binding.. from the wsdl* > > <wsp:Policy wsu:Id="IssuedTokenWSTrustBinding_IWSTrust13Async1_policy"> > <wsp:ExactlyOne> > <wsp:All> > <sp:TransportBinding > xmlns:sp=" > http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> > <wsp:Policy> > <sp:TransportToken> > <wsp:Policy> > > <sp:HttpsToken /> > </wsp:Policy> > </sp:TransportToken> > <sp:AlgorithmSuite> > <wsp:Policy> > > <sp:Basic256 /> > </wsp:Policy> > </sp:AlgorithmSuite> > <sp:Layout> > <wsp:Policy> > <sp:Strict > /> > </wsp:Policy> > </sp:Layout> > <sp:IncludeTimestamp /> > </wsp:Policy> > </sp:TransportBinding> > <sp:EndorsingSupportingTokens > xmlns:sp=" > http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> > <wsp:Policy> > <sp:IssuedToken > > sp:IncludeToken=" > http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient > "> > > <sp:RequestSecurityTokenTemplate> > > <trust:KeyType> > http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey > > </trust:KeyType> > > <trust:KeySize>256</trust:KeySize> > > <trust:KeyWrapAlgorithm>http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p > > </trust:KeyWrapAlgorithm> > > <trust:EncryptWith>http://www.w3.org/2001/04/xmlenc#aes256-cbc > > </trust:EncryptWith> > > <trust:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#hmac-sha1 > > </trust:SignatureAlgorithm> > > <trust:CanonicalizationAlgorithm>http://www.w3.org/2001/10/xml-exc-c14n# > > </trust:CanonicalizationAlgorithm> > > <trust:EncryptionAlgorithm>http://www.w3.org/2001/04/xmlenc#aes256-cbc > > </trust:EncryptionAlgorithm> > > </sp:RequestSecurityTokenTemplate> > <wsp:Policy> > > <sp:RequireInternalReference /> > </wsp:Policy> > </sp:IssuedToken> > <sp:SignedParts> > <sp:Header > Name="To" Namespace="http://www.w3.org/2005/08/addressing" > /> > </sp:SignedParts> > <KeyValueToken > IncludeToken="" Optional=""> > <Policy /> > </KeyValueToken> > </wsp:Policy> > </sp:EndorsingSupportingTokens> > <sp:Wss11 > xmlns:sp=" > http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> > <wsp:Policy> > > <sp:MustSupportRefKeyIdentifier /> > > <sp:MustSupportRefIssuerSerial /> > > <sp:MustSupportRefThumbprint /> > > <sp:MustSupportRefEncryptedKey /> > </wsp:Policy> > </sp:Wss11> > <sp:Trust13 > xmlns:sp=" > http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> > <wsp:Policy> > > <sp:MustSupportIssuedTokens /> > <sp:RequireClientEntropy /> > <sp:RequireServerEntropy /> > </wsp:Policy> > </sp:Trust13> > <wsaw:UsingAddressing /> > </wsp:All> > </wsp:ExactlyOne> > </wsp:Policy> > > > ---------------------------------------------------------------------------------------------- > > <wsdl:binding name="IssuedTokenWSTrustBinding_IWSTrust13Async1" > type="tns:IWSTrust13Async"> > <wsp:PolicyReference > > URI="#IssuedTokenWSTrustBinding_IWSTrust13Async1_policy" /> > <soap12:binding transport=" > http://schemas.xmlsoap.org/soap/http" /> > <wsdl:operation name="Trust13IssueAsync"> > <soap12:operation > soapAction=" > http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" > style="document" /> > <wsdl:input> > <soap12:body use="literal" /> > </wsdl:input> > <wsdl:output> > <soap12:body use="literal" /> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > > > -------------------------------------------------------------------------------------------------------------- > Here is my code snippet to get the token > > public SecurityToken getFederatedToken(TokenInputs tokenInputVo, > SecurityToken issuedToken) { > SecurityToken securityToken = null; > try { > stsClient = (STSClient) > ctx.getBean("stsClientFederation"); > stsClient.setEnableAppliesTo(true); > stsClient.setTokenType(SAML2_TOKEN_TYPE); > > //Next two lines are necessary as ADFS will throw unrecognized Policy > otherwise > stsClient.setAddressingNamespace(" > http://schemas.xmlsoap.org/ws/2004/08/addressing"); > > stsClient.setWspNamespace("http://schemas.xmlsoap.org/ws/2004/09/policy"); > > stsClient.getProperties().put("ws-security.token", > issuedToken); > > securityToken = > stsClient.requestSecurityToken(tokenInputVo.getAdfsRelyingParty()); > } catch (Exception exp) { throw new > RuntimeException("Error occured while > requesting a federation security token from ADFS", exp); > } > return securityToken; > } > > What do you suggest. Is it the right way to get an issuedToken? > > > > -- > View this message in context: > http://cxf.547215.n5.nabble.com/IssuedToken-nullpointer-exception-tp5749119p5749157.html > Sent from the cxf-user mailing list archive at Nabble.com. > -- Colm O hEigeartaigh Talend Community Coder http://coders.talend.com
