2015-12-22 18 views
9

Ho configurato Apache Tomcat 8 utilizzando questo tutorial https://tomcat.apache.org/tomcat-7.0-doc/monitoring.html e ho generato il certificato SSL.Client JMX Java con SSL

JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://10.16.70.161:9999/jmxrmi"); 

      HashMap environment = new HashMap(); 
      String[] credentials = new String[] 
      { 
       "user", "passw" 
      }; 
      environment.put(JMXConnector.CREDENTIALS, credentials); 

      JMXConnector jmxc = JMXConnectorFactory.connect(url, environment); 
      MBeanServerConnection server = jmxc.getMBeanServerConnection(); 

      Set<ObjectName> s2 = server.queryNames(new ObjectName("Catalina:type=Server,*"), null); 
      for (ObjectName obj : s2) 
      { 
       ObjectName objname = new ObjectName(obj.getCanonicalName()); 
       System.out.println("serverInfo " + server.getAttribute(objname, "serverInfo")); 
       System.out.println("address " + server.getAttribute(objname, "address")); 
       System.out.println("stateName " + server.getAttribute(objname, "stateName")); 
      } 

In che modo è necessario estendere questo client JMX per poterlo utilizzare con il certificato SSL? Non riesco a trovare alcun buon esempio su Internet.

risposta

6

Si siamo quasi, il codice è corretto, è sufficiente avviare il client JMX con la seguente riga di comando dopo aver aggiunto il certificato SSL per un trust store utilizzando l'utilità keytool della riga di comando:

java -Djavax.net.ssl.trustStore=/your/path/to/truststore.jks \ 
    -Djavax.net.ssl.trustStorePassword=truststore_pwd \ 
    YourJMXClient 
+0

Perché si aggiunge SslRMIServerSocketFactory e SslRMIClientSocketFactory? È obbligatorio? –

+0

Mi dispiace, è necessario solo quando si desidera creare un JMXServer. In questo caso, tutto ciò che devi fare è configurare il tuo negozio di fiducia e passarlo al tuo cliente quando inizi. – Val

+0

Posso usare in qualche modo il codice Java per impostare la posizione e la password di trustStore senza un client JMX personalizzato completo? Ho creato un nuovo post qui http://stackoverflow.com/questions/34474023/replace-system-setproperty –

Problemi correlati