Java Web Start 和安全性
本节描述了通过 Java Web Start 部署的应用程序的安全性基础,包括:
默认情况下,使用 Java Web Start 启动的应用程序在受限环境(称为* sandbox *)中运行。在此沙箱中,Java Web Start:
-
保护用户免受可能影响本地文件的恶意代码的侵害
-
保护企业免受可能试图访问或破坏网络上数据的代码的侵害
由 Java Web Start 启动的沙箱应用程序保留在此沙箱中,这意味着它们无法访问本地文件或网络。有关信息,请参见富 Internet 应用程序中的安全性。
HTTPS 证书的动态下载
Java Web Start 像浏览器通常动态地导入证书。为此,Java Web Start 使用java.protocol.handler.pkgs
系统属性设置自己的https
处理程序,以初始化SSLSocketFactory和HostnameVerifier的默认值。它使用HttpsURLConnection.setDefaultSSLSocketFactory和HttpsURLConnection.setDefaultHostnameVerifier方法设置默认值。
如果您的应用程序使用这两种方法,请确保在 Java Web Start 初始化https
处理程序之后调用它们,否则,您的自定义处理程序将被 Java Web Start 默认处理程序替换。
您可以通过执行以下任一操作来确保使用自己定制的SSLSocketFactory
和HostnameVerifiter
:
-
安装您自己的
https
处理程序,以替换 Java Web Starthttps
处理程序。 -
在您的应用程序中,仅在创建第一个
https URL
对象之后才调用HttpsURLConnection.setDefaultSSLSocketFactory
或HttpsURLConnection.setDefaultHostnameVerifier
,该对象首先执行 Java Web Starthttps
处理程序初始化代码。