Java Web Start 和 Security

原文: https://docs.oracle.com/javase/tutorial/deployment/webstart/security.html

本节介绍通过 Java Web Start 部署的应用程序的安全性基础知识,包括:

默认情况下,使用 Java Web Start 启动的应用程序在受限制的环境中运行,称为沙箱。在这个沙盒中,Java Web Start:

  • 保护用户免受可能影响本地文件的恶意代码的侵害
  • 保护企业免受可能试图访问或破坏网络数据的代码

由 Java Web Start 启动的沙箱应用程序仍保留在此沙箱中,这意味着它们无法访问本地文件或网络。有关信息,请参阅富 Internet 应用程序中的安全性。

动态下载 HTTPS 证书

Java Web Start 会像浏览器一样动态导入证书。为此,Java Web Start 使用java.protocol.handler.pkgs系统属性设置自己的https处理器,以初始化 SSLSocketFactoryHostnameVerifier 的默认值。它使用方法 HttpsURLConnection.setDefaultSSLSocketFactoryHttpsURLConnection.setDefaultHostnameVerifier 设置默认值。

如果您的应用程序使用这两种方法,请确保在 Java Web Start 初始化https处理器后调用它们,否则您的自定义处理器将被 Java Web Start 默认处理器替换。

您可以通过执行以下操作之一来确保使用您自己的自定义SSLSocketFactoryHostnameVerifiter

  • 安装自己的https处理器,以替换 Java Web Start https处理器。
  • 在您的应用程序中,仅在创建第一个https URL对象后调用HttpsURLConnection.setDefaultSSLSocketFactoryHttpsURLConnection.setDefaultHostnameVerifier,该对象首先执行 Java Web Start https处理器初始化代码。