我正在尝试使用 JNLP 文件启动 Java 应用程序“Java-app”。
场景:
安全漏洞
我在以下用例中面临安全漏洞:
如果来自同一 Intranet 中另一台机器的黑客“Machine-B”(与“Java-app”或服务器“X”无关)尝试使用虚拟 X509 证书嗅探它们之间的流量,然后黑客可以通过伪装成虚拟服务器来查看Java-app和“X”之间共享的密码。
已知但不可行的解决方法:
我认为这个问题是因为在连接到服务器“X”时,Java-app 没有实现正确的证书验证。当前逻辑只是验证 X509 证书是否有效。就这样。这将适用于黑客证书。 可能的修复:如果有效证书已经存储在“Machine=A”的密钥库中,那么当 Java-app 与服务器“X”连接时,它可以根据密钥库中的证书验证连接。但是由于向后兼容性问题,这对我来说是不可行的。
那么有没有办法在使用 JNLP 启动 Java 应用程序时执行此证书验证。
更新
我找到了这个链接:https://docs.oracle.com/javase/8/docs/technotes/guides/javaws/developersguide/development.html 在“如果应用程序被编写为在安全沙箱中运行,它必须遵循以下限制:”它提到“网络连接仅启用到下载 JAR 文件的主机。”...这是否意味着如果其他主机可以使用网络连接,那么可能会出现此安全问题?