Thank you Colm!
I would like to use the first approach - specify the encryption username via 
"properties" in the STS client configuration.
I am unfortunately not able to find the right place in the Fediz IDP Web 
application, currently I am lost among all the beans :-(
Stepan

> -----Original Message-----
> From: Colm O hEigeartaigh [mailto:[email protected]]
> Sent: Tuesday, February 11, 2014 3:20 PM
> To: [email protected]
> Subject: Re: Error "A encryption username needs to be declared" when using
> Fediz IdP with external WS-Trust STS
> 
> A CXF client using the Symmetric binding needs the public key of the 
> recipient.
> This is typically done by specifying an encryption username (corresponding to 
> a
> keystore alias), and a Crypto properties file for encryption (pointing to a
> keystore). Here is an example:
> 
> http://svn.apache.org/viewvc/cxf/trunk/services/sts/systests/basic/src/test/res
> ources/org/apache/cxf/systest/sts/symmetric/cxf-client.xml?view=markup
> 
> So one possibly solution is to update the IdP STSClient configuration so that 
> it is
> possible to pass through "properties" as per the client configuration above.
> Alternatively, we could use an encryption certificate from metadata or
> something, although this would likely require a small amount of work in CXF.
> Which would you prefer to use?
> 
> Colm.
> 
> 
> On Tue, Feb 11, 2014 at 1:19 PM, Hrbacek, Stepan
> <[email protected]>wrote:
> 
> > Hi all,
> > I am trying to use the the Apache CXF Fediz IdP (1.1.0) with an
> > external WS-Trust STS [Atos (c) DirX Access implementation based
> > Oracle Metro]. When the Fediz IdP tries to send the
> > http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue request to
> > the STS, an error occurs and following exception can be found in
> > idp.log. The STS's WSDL is quoted below. Java clients using Oracle
> > Metro work fine with this STS.
> > Can you plese give me a hint where and how to configure the encryption
> > certificate (I think the error message is misleading)?
> > Thank you!
> > Stepan
> >
> > ---------------
> > 2014-02-11 11:24:40,053
> > [org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractBindingBuilde
> > r@http-nio-9443-exec-6]
> > DEBUG
> > org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractBindingBuilder
> > - A encryption username needs to be declared.
> > org.apache.cxf.ws.policy.PolicyException: A encryption username needs
> > to be declared.
> >         at
> >
> org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractBindingBuilder.policyN
> otAsserted(AbstractBindingBuilder.java:315)
> >         at
> >
> org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractBindingBuilder.setEncr
> yptionUser(AbstractBindingBuilder.java:1631)
> >         at
> >
> org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractBindingBuilder.getEncr
> yptedKeyBuilder(AbstractBindingBuilder.java:1453)
> >         at
> >
> org.apache.cxf.ws.security.wss4j.policyhandlers.SymmetricBindingHandler.setu
> pEncryptedKey(SymmetricBindingHandler.java:856)
> >         at
> >
> org.apache.cxf.ws.security.wss4j.policyhandlers.SymmetricBindingHandler.doSi
> gnBeforeEncrypt(SymmetricBindingHandler.java:298)
> >         at
> >
> org.apache.cxf.ws.security.wss4j.policyhandlers.SymmetricBindingHandler.hand
> leBinding(SymmetricBindingHandler.java:124)
> >         at
> >
> org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBased
> WSS4JOutInterceptorInternal.handleMessage(PolicyBasedWSS4JOutInterceptor.
> java:173)
> >         at
> >
> org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBased
> WSS4JOutInterceptorInternal.handleMessage(PolicyBasedWSS4JOutInterceptor.
> java:90)
> >         at
> >
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> n.java:272)
> >         at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565)
> >         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)
> >         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377)
> >         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)
> >         at
> >
> org.apache.cxf.ws.security.trust.AbstractSTSClient.issue(AbstractSTSClient.java:
> 759)
> >         at
> >
> org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:
> 62)
> >         at
> >
> org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:
> 56)
> >         at
> >
> org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:
> 52)
> >         at
> >
> org.apache.cxf.fediz.service.idp.STSAuthenticationProvider.authenticate(STSAut
> henticationProvider.java:116)
> >         at
> >
> org.springframework.security.authentication.ProviderManager.authenticate(Pr
> oviderManager.java:156)
> >         at
> >
> org.springframework.security.authentication.ProviderManager.authenticate(Pr
> oviderManager.java:174)
> >         at
> >
> org.springframework.security.web.authentication.UsernamePasswordAuthentic
> ationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:
> 94)
> >         at
> >
> org.springframework.security.web.authentication.AbstractAuthenticationProces
> singFilter.doFilter(AbstractAuthenticationProcessingFilter.java:195)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(F
> ilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doF
> ilter(SecurityContextPersistenceFilter.java:87)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(F
> ilterChainProxy.java:342)
> >         at
> > org.apache.cxf.fediz.service.idp.STSPortFilter.doFilter(STSPortFilter.java:66)
> >         ...
> > ---------------
> >
> > The WS-Policy parts of the STS's WSDL are:
> > ---------------
> > <?xml version='1.0' encoding='UTF-8'?> <wsdl:definitions
> > xmlns:dxa-fed="http://dxa.siemens.com/wsdl/federation/";
> > xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; xmlns:soap11="
> > http://schemas.xmlsoap.org/wsdl/soap11/"; xmlns:wsa10="
> > http://www.w3.org/2005/08/addressing"; xmlns:wsap10="
> > http://www.w3.org/2006/05/addressing/wsdl"; xmlns:wsdl="
> > http://schemas.xmlsoap.org/wsdl/"; xmlns:wsp-xmlsoap="
> > http://schemas.xmlsoap.org/ws/2004/09/policy";
> > xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xs="
> > http://www.w3.org/2001/XMLSchema"; xmlns:sp="
> > http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"; xmlns:wsp="
> > http://schemas.xmlsoap.org/ws/2004/09/policy"; 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"
> > name="Federation"
> > targetNamespace="http://dxa.siemens.com/wsdl/federation/
> > ">
> >  ...
> >
> >  <!-- Bindings section -->
> >  <wsdl:binding name="SecurityTokenManagingSoap12Http"
> > type="dxa-fed:SecurityTokenManaging">
> >     <wsp-xmlsoap:PolicyReference URI="#SecurityTokenService_policy" />
> >     <soap12:binding style="document" transport="
> > http://schemas.xmlsoap.org/soap/http"; />
> >     <wsdl:operation name="issueSecurityToken">
> >       <soap12:operation soapAction="
> > http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue"; />
> >       <wsdl:input>
> >         <soap12:body use="literal" />
> >         <wsp-xmlsoap:PolicyReference
> > URI="#SecurityTokenManaging_Input_Policy" />
> >       </wsdl:input>
> >       <wsdl:output>
> >         <soap12:body use="literal" />
> >         <wsp-xmlsoap:PolicyReference
> > URI="#SecurityTokenManaging_Output_Policy" />
> >       </wsdl:output>
> >     </wsdl:operation>
> >   </wsdl:binding>
> >
> >   ...
> >
> >   <!-- WS-Policies section -->
> >   <wsp:Policy wsu:Id="SecurityTokenService_policy">
> >     <wsp:ExactlyOne>
> >       <wsp:All>
> >         <sp:SymmetricBinding>
> >           <wsp:Policy>
> >             <sp:ProtectionToken>
> >               <wsp:Policy>
> >                 <sp:X509Token sp:IncludeToken="
> >
> http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never";>
> >                   <wsp:Policy>
> >                     <!-- sp:RequireDerivedKeys /-->
> >                     <!-- sp:RequireThumbprintReference /-->
> >                     <sp:WssX509V3Token10 />
> >                   </wsp:Policy>
> >                 </sp:X509Token>
> >               </wsp:Policy>
> >             </sp:ProtectionToken>
> >             <sp:AlgorithmSuite>
> >               <wsp:Policy>
> >                 <sp:Basic128 />
> >               </wsp:Policy>
> >             </sp:AlgorithmSuite>
> >             <sp:Layout>
> >               <wsp:Policy>
> >                 <sp:Lax />
> >               </wsp:Policy>
> >             </sp:Layout>
> >             <sp:IncludeTimestamp />
> >             <sp:EncryptSignature />
> >             <sp:OnlySignEntireHeadersAndBody />
> >           </wsp:Policy>
> >         </sp:SymmetricBinding>
> >         <sp:Wss11>
> >           <wsp:Policy>
> >             <sp:MustSupportRefKeyIdentifier />
> >             <sp:MustSupportRefIssuerSerial />
> >             <sp:MustSupportRefThumbprint />
> >             <sp:MustSupportRefEncryptedKey />
> >             <sp:RequireSignatureConfirmation />
> >           </wsp:Policy>
> >         </sp:Wss11>
> >         <sp:Trust10>
> >           <wsp:Policy>
> >             <sp:MustSupportIssuedTokens />
> >             <sp:RequireClientEntropy />
> >             <sp:RequireServerEntropy />
> >           </wsp:Policy>
> >         </sp:Trust10>
> >
> >
> >         <wsap10:UsingAddressing />
> >         <sp:EndorsingSupportingTokens xmlns:sp="
> > http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
> >           <wsp:Policy>
> >             <sp:X509Token sp:IncludeToken="
> > http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Alwa
> > ysToRecipient
> > ">
> >               <wsp:Policy>
> >                 <!--sp:RequireThumbprintReference/-->
> >                 <sp:WssX509V3Token10 />
> >               </wsp:Policy>
> >             </sp:X509Token>
> >           </wsp:Policy>
> >         </sp:EndorsingSupportingTokens>
> >       </wsp:All>
> >     </wsp:ExactlyOne>
> >   </wsp:Policy>
> >
> >   <wsp:Policy wsu:Id="SecurityTokenManaging_Input_Policy">
> >     <wsp:ExactlyOne>
> >       <wsp:All>
> >         <sp:SignedParts>
> >           <sp:Body />
> >           <sp:Header Name="To" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="From" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="FaultTo" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="ReplyTo" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="MessageID" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="RelatesTo" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="Action" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >         </sp:SignedParts>
> >         <sp:EncryptedParts>
> >           <sp:Body />
> >         </sp:EncryptedParts>
> >       </wsp:All>
> >     </wsp:ExactlyOne>
> >   </wsp:Policy>
> >
> >   <wsp:Policy wsu:Id="SecurityTokenManaging_Output_Policy">
> >     <wsp:ExactlyOne>
> >       <wsp:All>
> >         <sp:SignedParts>
> >           <sp:Body />
> >           <sp:Header Name="To" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="From" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="FaultTo" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="ReplyTo" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="MessageID" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="RelatesTo" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >           <sp:Header Name="Action" Namespace="
> > http://www.w3.org/2005/08/addressing"; />
> >         </sp:SignedParts>
> >         <sp:EncryptedParts>
> >           <sp:Body />
> >         </sp:EncryptedParts>
> >       </wsp:All>
> >     </wsp:ExactlyOne>
> >   </wsp:Policy>
> >
> > </wsdl:definitions>
> > ---------------
> >
> 
> 
> 
> --
> Colm O hEigeartaigh
> 
> Talend Community Coder
> http://coders.talend.com

Reply via email to