silent authentication for local user failed with jboss-client.jar in JBoss EAP 8.0.x

Solution Verified - Updated

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 8.0

Issue

  • Though silent authentication for local user (connecting from localhost) is enabled for manangement port in JBoss EAP 8.x, authentication failure happens when connection the server from localhost with with jboss-client.jar in JBoss EAP 8.0.x.

  • When I execute JMX client application (like an example code in this article) with jboss-client.jar for JBoss EAP 8.0 with the default configuration (= silent authentication for local user is enabled for management port by default), it unables to connect the server with the following authentication exception:

    Exception in thread "main" javax.security.sasl.SaslException: Authentication failed: none of the mechanisms presented by the server (JBOSS-LOCAL-USER, DIGEST-MD5) are supported
    	at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:443)
    	at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:244)
    	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
    	at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
    	at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
    	at org.xnio.nio.WorkerThread.run(WorkerThread.java:603)
    	at ...asynchronous invocation...(Unknown Source)
    	at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:600)
    	at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:561)
    	at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:549)
    	at org.jboss.remotingjmx.RemotingConnector.internalRemotingConnect(RemotingConnector.java:268)
    	at org.jboss.remotingjmx.RemotingConnector.internalConnect(RemotingConnector.java:156)
    	at org.jboss.remotingjmx.RemotingConnector.connect(RemotingConnector.java:103)
    	at java.management/javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
    	at JmxClient.main(JmxClient.java:51)
    

    The same application did not face the issue when connection JBoss EAP 7.4 with jboss-client.jar included in JBoss EAP 7.x.

Resolution

As workaround, you can:

  • Add jboss-cli-client.jar to classpath in addition.
  • Or, just use jboss-cli-client.jar instead of jboss-client.jar if jboss-cli-client.jar is sufficient for your usage.

For example, as described as an example of execution command in the article, JMX client application does not need jboss-cli-client.jar but it can run with jboss-cli-client.jar. So, you can use jboss-cli-client.jar instead of jboss-client.jar for your JMX client.

Root Cause

Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.