无法通过VisualVM中的JMX + SSL进行连接

时间:2014-12-18 11:34:36

标签: java ssl jmx visualvm jvisualvm

我已从没有SSL的计算机连接了JMX连接。但是当我提供SSL虽然应用程序正在启动而没有任何错误时,VisualVM无法通过指定的端口建立JMX连接。以下是我用来从App端建立JMX连接的命令。

java -Dcom.sun.management.jmxremote.port = 4444 -Dcom.sun.management.jmxremote.password.file =" C:/ Program Files / Java / jre1.8.0_25 / lib / management / jmxremote.password" -Djavax.net.ssl.keyStore =" C:/ Program Files / Java / jdk1.8.0_25 / bin / testkeystore" -Djavax.net.ssl.keyStorePassword = 123456 -Dcom.sun.management.jmxremote.ssl = true -Dcom.sun.management.jmxremote.authenticate = true DemoApp

请建议。

1 个答案:

答案 0 :(得分:1)

即使这是一个非常老的问题,@ Klara的评论也帮助我快速解决了类似问题。

  1. 首先,我需要为jVisualVM准备我的信任库:

keytool -exportcert-别名服务器-keystore /jkslocation/serverKS.jks -storepass storepassword -file /certificatelocation/certificate.cer

  1. 然后我将导出的证书添加到信任存储中: keytool-导入-别名服务器-keystore /jkslocation/clientTS.jks -storepass storepassword -file /certificatelocation/certificate.cer -v

  2. 然后将clientTS.jks复制到运行jVisualVM的客户端计算机上。

  3. jVisualVM使用信任库参数启动: ./jvisualvm -J-Djavax.net.ssl.trustStore = clientTS.jks -J-Djavax.net.ssl.trustStorePassword = clientTSPassword

  4. jVisualVM可以访问服务器JMX端口。