Java 什么是原生沙盒?

Java 什么是原生沙盒?,java,applet,Java,Applet,我发现在8u51的Java控制面板中添加了“启用操作系统的受限环境(本机沙盒)”。但是我找不到任何文件。从官员那里我们知道: 本机沙盒仅在Windows平台上可用 本机沙盒可以通过Java控制面板->高级设置->启用操作系统的受限环境(本机沙盒),或通过在deployment.properties文件中将deployment.security.use.Native.sandbox属性设置为true来启用或禁用 默认情况下禁用本机沙盒 启用本机沙盒后,沙盒小程序或web start应用程序将在操

我发现在8u51的Java控制面板中添加了“启用操作系统的受限环境(本机沙盒)”。但是我找不到任何文件。

从官员那里我们知道:

  • 本机沙盒仅在Windows平台上可用
  • 本机沙盒可以通过Java控制面板->高级设置->启用操作系统的受限环境(本机沙盒),或通过在
    deployment.properties
    文件中将
    deployment.security.use.Native.sandbox
    属性设置为true来启用或禁用

  • 默认情况下禁用本机沙盒

  • 启用本机沙盒后,沙盒小程序或web start应用程序将在操作系统提供的受限环境中运行。这不会影响所有权限应用程序,它们将继续像以前一样运行

  • 对于异常站点列表(ESL)中包含的应用程序或使用部署规则集(DRS)时,将禁用本机沙盒

  • 使用HTML小程序标记部署的沙盒小程序将在本机沙盒中运行,HTML小程序标记包含类路径清单属性中的所有权限JAR文件

  • 在这种情况下,当小程序试图访问所有权限JAR文件时,将显示一个特殊的警告对话框,通知用户小程序可能无法正常工作

  • 启用本机沙盒时,在某些情况下将禁用自定义预加载程序:

    • 当沙盒小程序或web start应用程序初始化时,自定义预加载程序将被禁用,而将使用默认预加载程序。初始化应用程序后,Java VM将在启用本机沙盒的情况下重新启动,并将使用自定义预加载程序
    • 对于所有权限应用程序,如果自定义预加载程序位于具有沙盒权限的JNLP文件中,则将禁用它,直到用户同意从安全对话框运行应用程序,该对话框授予对应用程序的无限制访问(特权)
目前,没有比这更多的文件。总之,在Java平台中,本机沙盒是一种特定的Windows功能,它使用操作系统中的一组API来改进沙盒

Windows应用商店应用程序应使用相同的API集。有一篇关于此的文章:。它说:

位于沙箱中还意味着应用程序无法直接访问在应用程序沙箱之外运行的任何其他应用程序或服务。Windows本身通过在运行时环境中定义的一组API方便了对其他应用程序或服务的访问


我了解沙盒本身和java的Permission/SecurityManager。旧的java特定沙盒和本机沙盒之间有什么区别吗?我在发行说明中找到了一些解释。是加上去的吗?在InfosecSE论坛上,我一直对这个问题感到困惑。在搜索Google直到我脸色发青之后,我试图弄清楚Windows中的“受限环境”到底应该利用什么(Vista和更高版本中的低完整性/保护模式?Windows 8和更高版本中的AppContainer/增强保护模式?其他什么?),甚至启动processexplorer&ProcMon,试图真正看到……当设置被打开或关闭时,Java进程的安全特性如何改变的迹象。结果是:老实说,除了我开始时知道的以外,我想我什么都不知道。我快疯了。