首页 文章

如何在没有安全警告的情况下发布Java Web Start jnlp应用程序?

提问于
浏览
2

我有一个从网站的jnlp文件启动的Java应用程序 . 我试图让它运行而不会在它运行之前闪烁一堆安全警告 .

该程序分为大约10个不同的jar文件,30个左右的jar库,以及jar文件中还包含的几个本机库 .

我已经使用官方代码签名证书(来自Verisign)签署了所有jar文件,包含了保存主类的jar文件中的jnlp文件,并向我主要的10个 jar 添加了权限和代码库属性编译 .

当我启动程序时,我收到消息说明:

此应用程序将在未来的Java安全更新中被阻止,因为JAR文件清单不包含Permissions属性 . 请联系发布者以获取更多信息 .

我可以单击“运行”以通过此消息,但后来我得到:

阻止可能不安全的组件运行?该应用程序包含签名和未签名的代码 .

我已将permissions属性添加到我正在编译的所有jar文件中 . 我是否必须更新我正在使用的第三方库的jar清单?如果是这样,有没有一种简单的方法可以做到这一点?我正在使用Apache Ant来构建应用程序 .

2 回答

  • 0

    是的,你必须更新所有的 jar
    您可以将这些属性直接添加到文件的jar文件( all jars )的清单中 -

    在你的插件目录中:

    jar ufm <jar_file> additionalAttribute.txt
    

    此additionalAttribute.txt将包含您的其他清单属性,如 -

    权限:所有权限
    代码库:*
    应用程序名称:我的应用程序
    来电允许 - 代码库:*
    Trusted-Library:是的
    Application-Library-Allowable-Codebase:*

  • 0

    我是否必须更新我正在使用的第三方库的jar清单?

    是 . 所有部件,我们应用程序的所有Jars都具有相同的安全要求 .

相关问题