如何使用Ant Web Start在build.xml中添加安全权限

时间:2013-12-18 09:40:59

标签: java ant java-web-start jnlp

我不熟悉Ant等java构建工具。我们有一个旧的java web start应用程序,现在使用new security requirements for RIAs我必须在build.xml中添加一个安全标记但是我无法弄清楚如何做到这一点。我正在使用ant deploy来构建我的应用程序。我也在使用ant-jnlp-war(我真的无法弄清楚这个ant-jnlp-war的使用位置)我的build.xml的相关部分如下:

<target name="pack" depends="buildinfo,dist,sign">
    <jw:jnlpwar
        tofile="${war}/lmc.war"
        title="Company Management Console"
        vendor="Company Teknoloji"
        codebase="dummy"
        signStorepass="secret"
        signAlias="labris">
            <jw:description>Company Management Console</jw:description>
            <jw:description kind="short">LMC</jw:description>
            <jw:shortcut desktop="true" menu="true" submenu="Company Management Console"/>
            <jw:j2se minVersion="1.5" args="-Xmx128M" />
            <lib dir="${dist}/lib">
                <include name="**/*.jar"/>
                <exclude name="client.jar"/>
            </lib>
            <lib dir="${dist}/modules">
                <include name="**/*.jar"/>
            </lib>
            <jw:application mainclass="com.idealteknoloji.lmc.client.ClientManager" jar="${dist}/lib/client.jar"/>
    </jw:jnlpwar>
    <exec executable="./make-client-packages"/>
</target>

我如何以及在何处将安全属性添加为沙箱。

1 个答案:

答案 0 :(得分:2)

让我们澄清......

Ant-jnlp-war只需创建一个war,它允许你将你的应用程序分发给客户端并包含你的jar,这意味着你在调用ant-jnlp-war之前应该有jar

New security requirements for RIA与jar相关,因为您需要在META-INF / MANIFEST.MF中指定可从中分发站点应用程序:

  

清单属性

     
      
  1. 权限 - 在7u25中引入,从7u51开始需要。指示RIA是否应在沙箱中运行或是否需要完全权限。
  2.   
  3. Codebase - 自7u25开始推出,自7u51起可选/鼓励。指向托管代码的已知位置(例如intranet.example.com)。
  4.   

当我们澄清您不需要更改ant-jnlp-war 时,您只需要在jar中拥有正确的MANIFEST.MF。

这里有两个选项:

  1. 使用Ant任务创建MANIFEST.MF like并对其进行配置,example

      <jar destfile="test.jar" basedir=".">
          <include name="build"/>
          <manifest>
              <attribute name="Permissions" value="sandbox">
              <attribute name="Codebase" value="example.com">
          </manifest>
      </jar>
    
  2. 手工创建MANIFEST.MF并将文件夹放在文件夹META-INF下

    Manifest-Version: 1.0
    Created-By: 1.7.0_51
    Permissions: sandbox
    Codebase: www.java.com