我们正在编写一个将密码保存在内存中的Java程序。不幸的是,用户可以轻松地使用jconsole或jmap创建堆转储文件并打开它以查找密码。我认为jconsole使用本地套接字连接jvm。我想知道,即使对于本地用户,有什么方法可以禁用jmx吗?有什么办法可以完全禁用堆转储?由于用户可以访问内存段,因此无论如何都可以访问密码。但是,我想禁用这样做的标准方法,以使操作尽可能地昂贵。
最佳答案
最后,我找到了禁用jconsole连接的解决方案。它还防止jmap创建转储文件。我找到了解决方案here。我也在这里引用答案:
但是,很明显可以在本地访问该内存段。但是,有谁知道一种可以直接访问内存以进行标准内存转储的工具?