Hello!
Its SOLVED!

there were multiple errors:
- typo in the keystore filename,
- the Cryptoproperties must be in a property file, what need to put
under WEB-INF/classes/
- the SignatureUsername is the alias in the keystore
- must be a password callback handler for the password to the private
key (and its hard to config thru the config files)

thanx
Csaba

On 2018.01.26. 18:49, Tóth Csaba wrote:
> Hello!
> I'm now very confused:
>
> I have this config file:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans";
>     xmlns:cxf="http://cxf.apache.org/core";
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>     xmlns:sec="http://cxf.apache.org/configuration/security";
>     xmlns:http="http://cxf.apache.org/transports/http/configuration";
>     xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration";
>     xmlns:jaxws="http://cxf.apache.org/jaxws";
>     xmlns:util="http://www.springframework.org/schema/util";
>     xmlns:soap="http://cxf.apache.org/bindings/soap";
>     xsi:schemaLocation="http://cxf.apache.org/core
> http://cxf.apache.org/schemas/core.xsd
> http://cxf.apache.org/configuration/security
> http://cxf.apache.org/schemas/configuration/security.xsd
> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
> http://cxf.apache.org/transports/http/configuration
> http://cxf.apache.org/schemas/configuration/http-conf.xsd 
> http://cxf.apache.org/transports/http-jetty/configuration
> http://cxf.apache.org/schemas/configuration/http-jetty.xsd
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
> http://www.springframework.org/schema/util
> http://www.springframework.org/schema/util/spring-util-4.2.xsd
> http://cxf.apache.org/bindings/soap
> http://cxf.apache.org/schemas/configuration/soap.xsd";>
>
>     <bean id="defaultTokenStore"
> class="org.apache.cxf.sts.cache.DefaultInMemoryTokenStore">
>         </bean>
> <bean id="cryptoProperties" class="java.util.Properties">
>     <constructor-arg>
>         <props>
>             <prop
> key="org.apache.ws.security.crypto.provider">org.apache.ws.security.components.crypto.Merlin</prop>
>             <prop
> key="org.apache.ws.security.crypto.merlin.keystore.type">jks</prop>
>             <prop
> key="org.apache.ws.security.crypto.merlin.keystore.password">.....</prop>
>             <prop
> key="org.apache.ws.security.crypto.merlin.file">key/key.jks</prop>
>         </props>
>     </constructor-arg>
> </bean>
>
>     <bean id="utSTSProperties"
> class="org.apache.cxf.sts.StaticSTSProperties">
>         <property name="SignatureCryptoProperties" ref="cryptoProperties"/>
>         <property name="issuer" value="issuer"/>
>         <property name="signatureUsername" value="signature"/>
>     </bean>
>
>     <bean id="utService" class="org.apache.cxf.sts.service.StaticService">
>         <property name="endpoints" value="http://localhost: xxxx
> /services/SecurityTokenServiceProvider" />
>     </bean>
>
>      <bean id="utSCTSamlTokenProvider"
> class="org.apache.cxf.sts.token.provider.SAMLTokenProvider">
>      </bean>
>
>     <util:list id="utTokenProviders">
>         <ref bean="utSCTSamlTokenProvider"/>
>     </util:list>
>    
>     <bean id="utIssueDelegate" class=" package .TokenIssueOperation">
>         <property name="tokenProviders" ref="utTokenProviders"/>
>                  <property name="services" ref="utService" />
>         <property name="stsProperties" ref="utSTSProperties" />
>         <property name="tokenStore" ref="defaultTokenStore"/>
>     </bean>
>    
>     <bean id="utSTSProviderBean" class=" package
> .SecurityTokenServiceProvider">
>         <property name="issueOperation" ref="utIssueDelegate" />
>     </bean>
>     <!--
>     <bean id="utSTSProviderBean"
> class="org.apache.cxf.ws.security.sts.provider.SecurityTokenServiceProvider">
>         <property name="issueOperation" ref="utIssueDelegate" />
>     </bean>
>     -->
>    
>     <jaxws:endpoint
> xmlns:tns="http://docs.oasis-open.org/ws-sx/ws-trust/200512/";
>         id="securitytokenserviceprovider" implementor="#utSTSProviderBean"
>         wsdlLocation="WEB-INF/wsdl/ws-trust-1.4-service.wsdl"
> endpointName="tns:UT_Port"
>         serviceName="tns:SecurityTokenService"
> address="/SecurityTokenServiceProvider">
>         <jaxws:properties>
>
>             <entry key="security.return.security.error" value="true" />
>             <entry key="security.validate.audience-restriction"
> value="false" />
>             <entry key="security.signature.properties">
>                 <bean id="signatureCryptoProperties"
> class="java.util.Properties">
>                     <constructor-arg>
>                         <props>
>              <prop
> key="org.apache.ws.security.crypto.provider">org.apache.ws.security.components.crypto.Merlin</prop>
>             <prop
> key="org.apache.ws.security.crypto.merlin.keystore.type">jks</prop>
>             <prop
> key="org.apache.ws.security.crypto.merlin.keystore.password">.....</prop>
>             <prop
> key="org.apache.ws.security.crypto.merlin.file">key/key.jks</prop>
>                         </props>
>                     </constructor-arg>
>                 </bean>
>             </entry>
>             <entry key="ws-security.saml2.validator">
>                 <bean
> class="org.apache.cxf.ws.security.trust.STSTokenValidator"/>
>             </entry>
>         </jaxws:properties>
>         <jaxws:binding>
>             <soap:soapBinding mtomEnabled="true" version="1.2" />
>         </jaxws:binding>
>     </jaxws:endpoint>
> </beans>
>
> the keystore is under WEB-INF, it cointains the cert from the incomming
> Cert.
>
> all help thanks.
>
> Csaba
>
> On 2018.01.26. 15:40, Colm O hEigeartaigh wrote:
>> OK so it appears the problems with the STS issuing the token have been
>> fixed? The errors are from the STSSamlAssertionValidator, which is supposed
>> to be used on the service side. It tries to validate the Signature locally
>> on the token, and if it fails it dispatches the token to the STS for
>> validation, which is why you're seeing an error about STSClient.
>>
>> What behaviour are you expecting on the service side? Normally the
>> STSSamlAssertionValidator
>> is not configured, because you have the CA cert of the STS in the service
>> keystore and it can validate the certificate locally. Is the STS cert (or
>> CA cert) in your crypto properties file pointing to by the
>> security.signature.properties configuration variable on the service side?
>>
>> Colm.
>>
>> On Fri, Jan 26, 2018 at 11:56 AM, Tóth Csaba <[email protected]> wrote:
>>
>>> Hello!
>>> (Sorry for the wrong address)
>>>
>>> It's go forward with little steps.
>>> now I get this error:
>>> jan. 26, 2018 12:42:21 DU
>>> org.apache.cxf.ws.security.trust.STSSamlAssertionValidator
>>> verifySignedAssertion
>>> WARNING: Local trust verification of SAML assertion failed: Error during
>>> certificate path validation: No trusted certs found
>>> org.apache.wss4j.common.ext.WSSecurityException: Error during
>>> certificate path validation: No trusted certs found
>>>     at org.apache.wss4j.common.crypto.Merlin.verifyTrust(Merlin.java:829)
>>>     at org.apache.wss4j.common.crypto.Merlin.verifyTrust(Merlin.java:919)
>>>     at
>>> org.apache.wss4j.dom.validate.SignatureTrustValidator.verifyTrustInCerts(
>>> SignatureTrustValidator.java:109)
>>>     at
>>> org.apache.wss4j.dom.validate.SignatureTrustValidator.validate(
>>> SignatureTrustValidator.java:64)
>>>     at
>>> org.apache.wss4j.dom.validate.SamlAssertionValidator.
>>> verifySignedAssertion(SamlAssertionValidator.java:214)
>>>     at
>>> org.apache.cxf.ws.security.trust.STSSamlAssertionValidator.
>>> verifySignedAssertion(STSSamlAssertionValidator.java:68)
>>>
>>> I get the certification from the SAML, and put into the keystore what i
>>> already setup (and put under the WEB-INF/classes/key directory
>>>
>>> the strange thing, the next error come about:
>>> jan. 26, 2018 12:42:24 DU org.apache.cxf.phase.PhaseInterceptorChain
>>> doDefaultLogging
>>> WARNING: Interceptor for
>>> {http://docs.oasis-open.org/ws-sx/ws-trust/200512/}SecurityTokenService
>>> has thrown exception, unwinding now
>>> org.apache.cxf.ws.security.trust.TrustException: The STSClient is not
>>> configured with either a location or wsdlLocation property
>>>     at
>>> org.apache.cxf.ws.security.trust.AbstractSTSClient.createClient(
>>> AbstractSTSClient.java:673)
>>>     at
>>> org.apache.cxf.ws.security.trust.AbstractSTSClient.
>>> validate(AbstractSTSClient.java:1101)
>>>     at
>>> org.apache.cxf.ws.security.trust.STSClient.validateSecurityToken(
>>> STSClient.java:105)
>>>
>>> What STSClient? why want to create a client?
>>> in the cxf settings no "client" string is found
>>>
>>> Thanx
>>> Csaba
>>>
>>> On 2018.01.25. 15:48, Colm O hEigeartaigh wrote:
>>>> Please reply to the CXF mailing list and not me directly...the problem
>>>> is that the SAML Assertion is getting validated before it hits the
>>>> STS, so you need to make a reference to the signature properties as a
>>>> JAX-WS property of the endpoint. For example:
>>>>
>>>> https://github.com/apache/cxf/blob/6a3f97e9f0d02eef72bf10c266d444
>>> ec3af78bf5/services/sts/systests/basic/src/test/resources/org/apache/cxf/
>>> systest/sts/transport/cxf-service.xml#L44
>>>> On Thu, Jan 25, 2018 at 2:38 PM, Tóth Csaba <[email protected]
>>>> <mailto:[email protected]>> wrote:
>>>>
>>>>     Hello!
>>>>     this is the full trace:
>>>>
>>>>     jan. 25, 2018 2:17:13 DU org.apache.cxf.phase.PhaseInterceptorChain
>>>>     doDefaultLogging
>>>>     WARNING: Interceptor for
>>>>     {http://docs.oasis-open.org/ws-sx/ws-trust/200512/}
>>> SecurityTokenService
>>>>     <http://docs.oasis-open.org/ws-sx/ws-trust/200512/%
>>> 7DSecurityTokenService>
>>>>     has thrown exception, unwinding now
>>>>     org.apache.cxf.binding.soap.SoapFault: No crypto property file
>>>>     supplied
>>>>     for signature
>>>>         at
>>>>     org.apache.cxf.ws.security.wss4j.WSS4JUtils.
>>> createSoapFault(WSS4JUtils.java:236)
>>>>         at
>>>>     org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.
>>> handleMessageInternal(WSS4JInInterceptor.java:340)
>>>>         at
>>>>     org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(
>>> WSS4JInInterceptor.java:175)
>>>>         at
>>>>     org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JInInterceptor.
>>> handleMessage(PolicyBasedWSS4JInInterceptor.java:79)
>>>>         at
>>>>     org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JInInterceptor.
>>> handleMessage(PolicyBasedWSS4JInInterceptor.java:66)
>>>>         at
>>>>     org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
>>> PhaseInterceptorChain.java:308)
>>>>         at
>>>>     org.apache.cxf.transport.ChainInitiationObserver.onMessage(
>>> ChainInitiationObserver.java:121)
>>>>         at
>>>>     org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(
>>> AbstractHTTPDestination.java:267)
>>>>         at
>>>>     org.apache.cxf.transport.servlet.ServletController.
>>> invokeDestination(ServletController.java:234)
>>>>         at
>>>>     org.apache.cxf.transport.servlet.ServletController.
>>> invoke(ServletController.java:208)
>>>>         at
>>>>     org.apache.cxf.transport.servlet.ServletController.
>>> invoke(ServletController.java:160)
>>>>         at
>>>>     org.apache.cxf.transport.servlet.CXFNonSpringServlet.
>>> invoke(CXFNonSpringServlet.java:191)
>>>>         at
>>>>     org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(
>>> AbstractHTTPServlet.java:301)
>>>>         at
>>>>     org.apache.cxf.transport.servlet.AbstractHTTPServlet.
>>> doPost(AbstractHTTPServlet.java:220)
>>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
>>>>         at
>>>>     org.apache.cxf.transport.servlet.AbstractHTTPServlet.
>>> service(AbstractHTTPServlet.java:276)
>>>>         at
>>>>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>>> ApplicationFilterChain.java:231)
>>>>         at
>>>>     org.apache.catalina.core.ApplicationFilterChain.doFilter(
>>> ApplicationFilterChain.java:166)
>>>>         at
>>>>     org.apache.tomcat.websocket.server.WsFilter.doFilter(
>>> WsFilter.java:52)
>>>>         at
>>>>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>>> ApplicationFilterChain.java:193)
>>>>         at
>>>>     org.apache.catalina.core.ApplicationFilterChain.doFilter(
>>> ApplicationFilterChain.java:166)
>>>>         at
>>>>     org.apache.catalina.core.StandardWrapperValve.invoke(
>>> StandardWrapperValve.java:198)
>>>>         at
>>>>     org.apache.catalina.core.StandardContextValve.invoke(
>>> StandardContextValve.java:96)
>>>>         at
>>>>     org.apache.catalina.authenticator.AuthenticatorBase.invoke(
>>> AuthenticatorBase.java:504)
>>>>         at
>>>>     org.apache.catalina.core.StandardHostValve.invoke(
>>> StandardHostValve.java:140)
>>>>         at
>>>>     org.apache.catalina.valves.ErrorReportValve.invoke(
>>> ErrorReportValve.java:81)
>>>>         at
>>>>     org.apache.catalina.valves.AbstractAccessLogValve.invoke(
>>> AbstractAccessLogValve.java:650)
>>>>         at
>>>>     org.apache.catalina.core.StandardEngineValve.invoke(
>>> StandardEngineValve.java:87)
>>>>         at
>>>>     org.apache.catalina.connector.CoyoteAdapter.service(
>>> CoyoteAdapter.java:342)
>>>>         at
>>>>     org.apache.coyote.http11.Http11Processor.service(
>>> Http11Processor.java:803)
>>>>         at
>>>>     org.apache.coyote.AbstractProcessorLight.process(
>>> AbstractProcessorLight.java:66)
>>>>         at
>>>>     org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
>>> AbstractProtocol.java:790)
>>>>         at
>>>>     org.apache.tomcat.util.net
>>>>     <http://org.apache.tomcat.util.net>.NioEndpoint$
>>> SocketProcessor.doRun(NioEndpoint.java:1459)
>>>>         at
>>>>     org.apache.tomcat.util.net
>>>>     <http://org.apache.tomcat.util.net>.SocketProcessorBase.
>>> run(SocketProcessorBase.java:49)
>>>>         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
>>>>     Source)
>>>>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>>>>     Source)
>>>>         at
>>>>     org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
>>> TaskThread.java:61)
>>>>         at java.lang.Thread.run(Unknown Source)
>>>>
>>>>     Csaba
>>>>
>>>>     On 2018.01.25. 15 <tel:2018.01.25.%2015>:32, Colm O hEigeartaigh
>>>>     wrote:
>>>>     > What's the full stack-trace?
>>>>     >
>>>>     > On Thu, Jan 25, 2018 at 1:44 PM, Tóth Csaba <[email protected]
>>>>     <mailto:[email protected]>> wrote:
>>>>     >
>>>>     >> Hello!
>>>>     >> Yes, after I deleted it, its begin to parse the SAML.
>>>>     >> the next error is about the SigVerCrypto is empty at the
>>>>     >> SignatureTrustValidator.validate step.
>>>>     >>  (get from the RequestData.sigVerCrypto)
>>>>     >>
>>>>     >> I set up the thing:
>>>>     >>
>>>>     >> <bean id="cryptoProperties" class="java.util.Properties">
>>>>     >>     <constructor-arg>
>>>>     >>         <props>
>>>>     >>             <prop
>>>>     >> key="org.apache.ws.security.crypto.provider">org.apache.
>>>>     >> ws.security.components.crypto.Merlin</prop>
>>>>     >>             <prop
>>>>     >> key="org.apache.ws.security.crypto.merlin.keystore.type">
>>> jks</prop>
>>>>     >>             <prop
>>>>     >> key="org.apache.ws.security.crypto.merlin.keystore.password">
>>>>     .... </prop>
>>>>     >>             <prop
>>>>     >> key="org.apache.ws.security.crypto.merlin.file">key/key.
>>> jks</prop>
>>>>     >>         </props>
>>>>     >>     </constructor-arg>
>>>>     >> </bean>
>>>>     >>     <bean id="utSTSProperties"
>>>>     >> class="org.apache.cxf.sts.StaticSTSProperties">
>>>>     >>         <property name="SignatureCryptoProperties"
>>>>     >> ref="cryptoProperties"/>
>>>>     >>     ....
>>>>     >>     </bean>
>>>>     >>
>>>>     >> and put the keyfile under the WEB-INF/classes/key
>>>>     >> (in the keyfile the keys for signing the new SAML)
>>>>     >>
>>>>     >> Thanx
>>>>     >> Csaba
>>>>     >>
>>>>     >>
>>>>     >> On 2018.01.25. 13 <tel:2018.01.25.%2013>:40, Colm O
>>>>     hEigeartaigh wrote:
>>>>     >>> Do you mean that there was a "saml2p:Status" element in the
>>>>     security
>>>>     >> header
>>>>     >>> before the Assertion? If so then this is not valid, only the SAML
>>>>     >> Assertion
>>>>     >>> should be there.
>>>>     >>>
>>>>     >>> Colm.
>>>>     >>>
>>>>     >>> On Thu, Jan 25, 2018 at 8:47 AM, Tóth Csaba <[email protected]
>>>>     <mailto:[email protected]>> wrote:
>>>>     >>>
>>>>     >>>> Hello!
>>>>     >>>>
>>>>     >>>> I dig deeper in the code:
>>>>     >>>> The problem with the SAML was:
>>>>     >>>> In the securty element contains not only the SAML, its
>>>>     contains before
>>>>     >>>> the SAML an
>>>>     >>>> <saml2:Issuer> and an <saml2p:Status> element
>>>>     >>>> (in his case The same is not processed)
>>>>     >>>>
>>>>     >>>> If I delete it, its go thru the SAML validator
>>>>     >>>>
>>>>     >>>> Csaba
>>>>     >>>>
>>>>     >>>> On 2018.01.24. 19 <tel:2018.01.24.%2019>:25, Tóth Csaba wrote:
>>>>     >>>>> Hello!
>>>>     >>>>> Thanx. I changed the namespace, but not helped.
>>>>     >>>>>
>>>>     >>>>> The DefaultSubjectProvider cant retrieve the subject from
>>>>     this SAML:
>>>>     >>>>>
>>>>     >>>>> <saml2:Assertion ID="..." IssueInstant="..." Version="2.0"
>>>>     >>>>> xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
>>>>     >>>>>
>>>>     >>>>>     <saml2:Subject>
>>>>     >>>>>         <saml2:NameID
>>>>     >>>>> Format="urn:oasis:names:tc:SAML:2.0:nameid-format:
>>>>     >>>> persistent">[name]</saml2:NameID>
>>>>     >>>>>         <saml2:SubjectConfirmation
>>>>     >>>>> Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
>>>>     >>>>>             <saml2:SubjectConfirmationData
>>>>     >>>>> InResponseTo="_9c7644ce0fb93649cd2ca77bb9b5e6db22f68b52a9"
>>>>     >>>>> NotOnOrAfter="2018-01-24T18:06:33.305Z"/>
>>>>     >>>>>         </saml2:SubjectConfirmation>
>>>>     >>>>>     </saml2:Subject>
>>>>     >>>>>
>>>>     >>>>> </saml2:Assertion>
>>>>     >>>>>
>>>>     >>>>> But I get an error, because the subject is null
>>>>     >>>>> (At this point I cant change the SAML in the request)
>>>>     >>>>>
>>>>     >>>>> Thanx
>>>>     >>>>>
>>>>     >>>>> Csaba
>>>>     >>>>>
>>>>     >>>>> On 2018.01.24. 10:55, Colm O hEigeartaigh wrote:
>>>>     >>>>>> The problem I think is that "http://schemas.xmlsoap.org/
>>>>     >>>> ws/2003/06/secext"
>>>>     >>>>>> is not a standard WS-Security namespace, and hence CXF is not
>>>>     >> processing
>>>>     >>>>>> the message header at all. The correct WS-Security
>>>>     namespace for the
>>>>     >>>>>> security header is instead "
>>>>     >>>>>> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
>>>>     <http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss->
>>>>     >>>> wssecurity-secext-1.0.xsd
>>>>     >>>>>> ".
>>>>     >>>>>>
>>>>     >>>>>> You could take a look at the CXF transformation feature to
>>>>     transform
>>>>     >> the
>>>>     >>>>>> namespace into the correct version (no idea if this will
>>>>     work or not):
>>>>     >>>>>>
>>>>     >>>>>> http://cxf.apache.org/docs/transformationfeature.html
>>>>     <http://cxf.apache.org/docs/transformationfeature.html>
>>>>     >>>>>>
>>>>     >>>>>> Colm.
>>>>     >>>>>>
>>>>     >>>>>>
>>>>     >>>>>> On Tue, Jan 23, 2018 at 6:19 PM, Tóth Csaba <[email protected]
>>>>     <mailto:[email protected]>> wrote:
>>>>     >>>>>>
>>>>     >>>>>>> Hello!
>>>>     >>>>>>> Its in the header:
>>>>     >>>>>>> ------------
>>>>     >>>>>>> <soapenv:Envelope
>>>>     >>>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/
>>>>     <http://schemas.xmlsoap.org/soap/envelope/>"
>>>>     >>>>>>> xmlns:ns="http://docs.oasis-open.org/ws-sx/ws-trust/200512
>>>>     <http://docs.oasis-open.org/ws-sx/ws-trust/200512>"
>>>>     >>>>>>> xmlns:a="http://www.w3.org/2005/08/addressing
>>>>     <http://www.w3.org/2005/08/addressing>">
>>>>     >>>>>>>    <soapenv:Header>
>>>>     >>>>>>>   <wsse:Security xmlns:wsse="http://schemas.
>>>>     >>>> xmlsoap.org/ws/2003/06/secext
>>>>     <http://xmlsoap.org/ws/2003/06/secext>"
>>>>     >>>>>>>     <saml:Assertion xmlns:saml="urn:oasis:names:
>>>>     >> tc:SAML:2.0:assertion"
>>>>     >>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
>>>>     <http://www.w3.org/2001/XMLSchema-instance>"
>>>>     >>>>>>> xmlns:xs="http://www.w3.org/2001/XMLSchema
>>>>     <http://www.w3.org/2001/XMLSchema>"
>>>>     >>>>>>> ID="pfxccb2f4f7-ca9c-3b5e-89b1-1d3c777400bc" Version="2.0"
>>>>     >>>>>>> IssueInstant="2014-07-17T01:01:48Z">
>>>>     >>>>>>>
>>>>     >>>>>>>   [assertion]
>>>>     >>>>>>>
>>>>     >>>>>>>   </saml:Assertion>
>>>>     >>>>>>>
>>>>     >>>>>>>   </wsse:Security>
>>>>     >>>>>>>   </soapenv:Header>
>>>>     >>>>>>>  <soapenv:Body>
>>>>     >>>>>>>       <ns:RequestSecurityToken >
>>>>     >>>>>>>
>>>>     >>>>>>> <ns:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/
>>>>     <http://docs.oasis-open.org/ws-sx/ws-trust/>
>>>>     >> 200512/Issue
>>>>     >>>>>>> </ns:RequestType>
>>>>     >>>>>>>
>>>>     >>>>>>> <ns:TokenType>http://docs.oasis-open.org/wss/oasis-wss-
>>>>     <http://docs.oasis-open.org/wss/oasis-wss->
>>>>     >>>>>>> saml-token-profile-1.1#SAMLV2.0</ns:TokenType>
>>>>     >>>>>>>   <ns7:AppliesTo xmlns:ns7="http://www.w3.org/ns/ws-policy
>>>>     <http://www.w3.org/ns/ws-policy>">  [url]
>>>>     >>>>>>> </ns7:AppliesTo>
>>>>     >>>>>>>   <!--
>>>>     >>>>>>>    <ns:Claims Dialect="http://bag.admin.ch/
>>>>     >> epr/2017/annex/5/addendum/2
>>>>     >>>> ">
>>>>     >>>>>>> [claims need to process too ]
>>>>     >>>>>>>
>>>>     >>>>>>>  </ns:Claims>
>>>>     >>>>>>> -->
>>>>     >>>>>>>  </ns:RequestSecurityToken>
>>>>     >>>>>>>  </soapenv:Body>
>>>>     >>>>>>> </soapenv:Envelope>
>>>>     >>>>>>> ---------------------
>>>>     >>>>>>>
>>>>     >>>>>>> Its look like easy task for the first look:
>>>>     >>>>>>> get a SAML in the header, full of attributes, and a
>>>>     request with
>>>>     >> other
>>>>     >>>>>>> attributes.
>>>>     >>>>>>> Validate some attributes, and all header attributes + claims
>>>>     >> attributes
>>>>     >>>>>>> put the new SAML token.
>>>>     >>>>>>>
>>>>     >>>>>>> but, about a week long, I google, read source code, google
>>>>     again, and
>>>>     >>>>>>> try to config the thing.
>>>>     >>>>>>> no good tutorial, no good documentation, no good
>>>>     description :(
>>>>     >>>>>>>
>>>>     >>>>>>> Csaba
>>>>     >>>>>>>
>>>>     >>>>>>>
>>>>     >>>>>>>
>>>>     >>>>>>> On 2018.01.23. 18 <tel:2018.01.23.%2018>:08, Colm O
>>>>     hEigeartaigh wrote:
>>>>     >>>>>>>> What does the request look like, e.g. where is the SAML
>>>>     token in the
>>>>     >>>>>>>> request? Is it referred to directly in the SOAP Body?
>>>>     >>>>>>>>
>>>>     >>>>>>>> Colm.
>>>>     >>>>>>>>
>>>>     >>>>>>>> On Tue, Jan 23, 2018 at 4:37 PM, Tóth Csaba
>>>>     <[email protected] <mailto:[email protected]>> wrote:
>>>>     >>>>>>>>
>>>>     >>>>>>>>> Hello!
>>>>     >>>>>>>>>
>>>>     >>>>>>>>> I'd like to parse the incomming SAML token to get the
>>>>     fields (user,
>>>>     >>>> etc)
>>>>     >>>>>>>>> and give it to the issuer.
>>>>     >>>>>>>>> I found, that is done in the
>>>>     >>>>>>>>> org.apache.cxf.sts.operation.TokenIssueOperation class but
>>>>     >>>>>>>>> stsProperties.getSamlRealmCodec() is always null in my
>>>>     code (how
>>>>     >>>> can i
>>>>     >>>>>>>>> set it, need to create a new one?)
>>>>     >>>>>>>>> but after in the fetchSAMLAssertionFromWSSecuri
>>> tySAMLToken()
>>>>     >>>> function
>>>>     >>>>>>>>> List<WSSecurityEngineResult> engineResults =
>>>>     >>>> handlerResult.getResults();
>>>>     >>>>>>>>> line give back an empty list.
>>>>     >>>>>>>>>
>>>>     >>>>>>>>> In the request there is an SAML token.
>>>>     >>>>>>>>>
>>>>     >>>>>>>>> I try to find some solution, but every example is
>>>>     working with the
>>>>     >>>>>>>>> usernametoken, and/or dont provide a valid cxf config xml.
>>>>     >>>>>>>>>
>>>>     >>>>>>>>> Thanx
>>>>     >>>>>>>>> Csaba
>>>>     >>>>>>>>>
>>>>     >>>>>>>>>
>>>>     >>
>>>>     >
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Colm O hEigeartaigh
>>>>
>>>> Talend Community Coder
>>>> http://coders.talend.com
>>>
>

Reply via email to