首页 文章

如何签署从tomcat服务器访问服务的JNLP应用程序?

提问于
浏览
2

我是任何应用程序的安全部分的新手 . 我对数字证书有非常基本的了解 . 我听说Applets和Java web等应用程序在客户端计算机上运行,从远程计算机访问其服务需要按顺序进行数字签名,以便不受任何限制地执行活动 .

我有一个尚未签名的Java Web启动应用程序,每次用户访问时都会显示一些安全警告 .

以下是我的Java Web Start应用程序的详细信息 .

  • Application使用Java web-start技术,该技术与Tomcat7上运行的Servlet进行通信 .

  • DB是SQL Server 2012 .

  • 服务器计算机:Windows 64位2008 R2 Enterprise Server .

  • Java 7更新25 64位

  • JWS-app和Web应用程序所需的所有文件(JNLP,jar文件)都打包为单个war文件并部署到Tomcat7 .

任何人都可以为以下查询提供一些想法:

  • 在应用程序中签署jar文件是否只能避免安全警告?

  • 签署jar文件的费用是多少?有没有办法免费签署 jar ?

  • 目前,Web启动应用程序通过http连接访问作为JavaEE应用程序在Tomcat7上运行的服务 . 在 jar 签名后,我是否需要使用https而不是http?

  • 我发现我需要将以下标记添加到.jnlp文件中: <security><all-permissions/></security>

  • 除了上面的改变之外,我还需要在Java或xml文件中做些什么吗?

Warning shown

注意:对于通过Internet访问应用程序的用户,我们收到了一些连接重置错误 . 将Java版本从Java5升级到Java7后,我们注意到此错误 . 阅读一些安全策略已更改的位置,现在通过网络下载未签名的jar文件存在一些问题 . 但不确定错误是由于升级到java版本还是由于应用程序代码的某些更改,因为除了连接重置之外,我们在日志文件中没有任何异常 .

提前致谢

1 回答

  • 1

    数字签名是使用不受信任的证书生成的 .

    这是有说服力的 .

    在应用程序中签署jar文件是否只能避免安全警告?

    jar 显然已经过数字签名,但有未经证实的证书 .

    一个 unsigned 应用程序 . 会有一个不同的警告(并且Oracle警告说,将来,他们将默认JVM根本不运行它们) .

    一个应用程序使用经过验证的证书签名将产生与您目前看到的相同的警告,除了“发布者:”将被列出,如果用户勾选“始终允许”(显然不再出现在自签名或未签名的代码上), JRE将存储并记住该决定 .

    签署jar文件需要花费吗?有没有办法免费签署 jar ?

    第二个问题的答案是“你现在花了多少钱?”第一个答案是'是' .

    目前,作为JavaEE应用程序在Tomcat7上运行的服务由Web start应用程序通过http连接访问 . 在 jar 签名后,我是否需要使用https而不是http?

    没有 .

    我发现我需要将以下标记添加到.jnlp文件中:<security> <all-permissions /> </ security>除了上述更改之外,我还需要在Java或xml文件中进行其他任何操作吗?

    我怀疑你需要指明那个 . 即使是沙盒应用程序 . 可以'回家'到同一台服务器 . 如果使用可信证书进行数字签名,警告将更加温和 .


    您需要最重要的一件事是,所有这些安全性不是为了方便开发人员,而是为了最终用户的安全(以及用户对插件的信心) . 因此,当您试图找到“从中蠕动的空间”时,您正在有效地尝试在JRE中找到安全漏洞 .

    如果您找到了,请告诉我们,以便我们可以向Oracle提出高优先级错误报告,并获取它 fixed.

相关问题