Hi,

I have an STSClient communicating with Microsoft Server 2012 R2 Active
Directory Federation Services. This seems to work fine, except that I get
the following warnings logged on the client side:

*feb 09, 2015 11:29:56 AM
org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl
handleNoRegisteredBuilder*
*WARNING: No assertion builder for type
{http://schemas.microsoft.com/ws/06/2004/policy/http}NegotiateAuthentication
<http://schemas.microsoft.com/ws/06/2004/policy/http}NegotiateAuthentication>
registered.*
*feb 09, 2015 11:29:56 AM
org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl
handleNoRegisteredBuilder*
*WARNING: No assertion builder for type
{http://schemas.microsoft.com/ws/2005/07/securitypolicy}RsaToken
<http://schemas.microsoft.com/ws/2005/07/securitypolicy}RsaToken>
registered.*
feb 09, 2015 11:29:56 AM
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
getElementPolicy
WARNING: Failed to build the policy
'CustomBinding_IWSTrust13Async_policy':Invalid Policy
feb 09, 2015 11:29:56 AM
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
getElementPolicy
WARNING: Failed to build the policy
'CertificateWSTrustBinding_IWSTrust13Async_policy':Invalid Policy
feb 09, 2015 11:29:56 AM
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
getElementPolicy
WARNING: Failed to build the policy
'IssuedTokenWSTrustBinding_IWSTrust13Async_policy':Invalid Policy
feb 09, 2015 11:29:56 AM
org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider
getElementPolicy
WARNING: Failed to build the policy
'IssuedTokenWSTrustBinding_IWSTrust13Async1_policy':Invalid Policy

So I understand that AD FS' policy contains a couple of assertions that CXF
does not understand. The question is if I should try to handle this in a
way. At a minimum I want to get rid of the WARN logging, but is there
anything else I should consider doing? Does this affect security?

Also, should I do anything with these "Invalid Policy" warnings?

My STSClient configuration:

<bean id="stsClient" class="org.apache.cxf.ws.security.trust.STSClient">
    <constructor-arg ref="cxf"/>
    <property name="tokenType" value="urn:oasis:names:tc:SAML:2.0:assertion"/>
    <property name="wsdlLocation" value="https://XXX/adfs/services/trust/mex"/>
    <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}UserNameWSTrustBinding_IWSTrust13Async"/>
    <property name="sendRenewing" value="false"/>
    <property name="allowRenewing" value="false"/>
    <property name="enableLifetime" value="true"/>
    <property name="ttl" value="30"/>
    <property name="outInterceptors">
        <!-- This will ask for user name and password on the console
and set them on the message context properties
             'ws-security.username'/'ws-security.password', which
STSClient then will use for generating UsernameToken
             which is requested by ADFS' policy on the endpoint
configured above ('endpointName' property) -->
        <bean class="XXX.CredentialsInterceptor"/>
    </property>
</bean>


Regards,
Thomas Johansen

Reply via email to