Search code examples
wso2openididentitywso2-identity-server

WSO2 Identity Server - Log Error: Server is Not Picking up the Client Certificate


When testing the WSO2 identity server rel. 5.1 using the Travelocity tool, I see a number of error messages recorded in the log file, telling:

"Server is not picking up the client certificate. Mutual SSL authentication is notdone"

The message repeats every 3 minutes.

Where is the missing certificate stored that needs to be updated to connect the Travelocity to the WSO2 IdP without writing error logs? In the travelocity.jks store at the client side, I currently see an alias entry for localhost and another entry for the IDP.

I've raised the debug level at the log4j.properties to the values:

log4j.logger.org.wso2.carbon.user=DEBUG
log4j.logger.org.wso2.carbon.identity=DEBUG
log4j.logger.org.wso2.carbon.idp.mgt=DEBUG

Solution

  • This is actually not an error log. This is a debug log. If you removed the following debug level entry from the log4j.properties file you will not see this.

    log4j.logger.org.wso2.carbon.identity=DEBUG

    MutualSSLAuthenticator is a carbon authenticator which is shipped by default with WSO2 IS 5.1.0. This authenticator is by default enabled from the authenticators.xml file located at IS_HOME/repository/conf/security/ directory. This is actually not getting invoked by the SAML authentication flow, or OpenID flow which you might be trying with the Travelocity sample application. But, the log gets printed as the framework checks if the authenticator is capable of handling the authentication.

    This authenticator is used with the OOTB supported Workflow Management Feature [1], for server to server authentication.

    You can also disable this authenticator by commenting out the below configuration at authenticators.xml file, and yet, authentication with Travelocity sample application will work successfully.

     <Authenticator name="MutualSSLAuthenticator">
          <Priority>5</Priority>
          <Config>
            <Parameter name="UsernameHeader">UserName</Parameter>
            <Parameter name="WhiteListEnabled">false</Parameter>
            <Parameter name="WhiteList">
          </Config>
        </Authenticator>
    

    [1]https://docs.wso2.com/display/IS510/Workflow+Management