Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-4193

Using JMX password file to secure JMX manager results in connection error.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.4.0
    • gfsh, security
    • None

    Description

      Steps to reproduce:
      gfsh>start locator --name=locator --J=-Dgemfire.jmx-manager-password-file=password.properties
      gfsh>connect

      stack trace in gfsh log:

      [info 2018/01/04 08:57:36.498 PST Gfsh Launcher tid=0x1f] (msgTID=31 msgSN=6) Authentication failed! Credentials should be String[] instead of java.util.Properties
      java.lang.SecurityException: Authentication failed! Credentials should be String[] instead of java.util.Properties
      at com.sun.jmx.remote.security.JMXPluggableAuthenticator.authenticationFailure(JMXPluggableAuthenticator.java:211)
      at com.sun.jmx.remote.security.JMXPluggableAuthenticator.authenticate(JMXPluggableAuthenticator.java:168)
      at javax.management.remote.rmi.RMIServerImpl.doNewClient(RMIServerImpl.java:232)
      at javax.management.remote.rmi.RMIServerImpl.newClient(RMIServerImpl.java:199)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
      at sun.rmi.transport.Transport$1.run(Transport.java:200)
      at sun.rmi.transport.Transport$1.run(Transport.java:197)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at java.lang.Thread.run(Thread.java:748)
      at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:283)
      at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:260)
      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
      at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)
      at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2430)
      at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:308)
      at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
      at org.apache.geode.management.internal.cli.shell.JmxOperationInvoker.<init>(JmxOperationInvoker.java:142)
      at org.apache.geode.management.internal.cli.commands.StartLocatorCommand.doAutoConnect(StartLocatorCommand.java:336)
      at org.apache.geode.management.internal.cli.commands.StartLocatorCommand.startLocator(StartLocatorCommand.java:296)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:216)
      at org.apache.geode.management.internal.cli.remote.CommandExecutor.invokeCommand(CommandExecutor.java:97)
      at org.apache.geode.management.internal.cli.remote.CommandExecutor.execute(CommandExecutor.java:45)
      at org.apache.geode.management.internal.cli.remote.CommandExecutor.execute(CommandExecutor.java:39)
      at org.apache.geode.management.internal.cli.shell.GfshExecutionStrategy.execute(GfshExecutionStrategy.java:79)
      at org.springframework.shell.core.AbstractShell.executeCommand(AbstractShell.java:134)
      at org.apache.geode.management.internal.cli.shell.Gfsh.promptLoop(Gfsh.java:1008)
      at org.springframework.shell.core.JLineShell.run(JLineShell.java:179)
      at java.lang.Thread.run(Thread.java:748)

      Attachments

        Issue Links

          Activity

            People

              jinmeiliao Jinmei Liao
              jinmeiliao Jinmei Liao
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: