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

时间:2013-10-04 14:03:06

标签: java security java-web-start jnlp

我是任何应用程序的安全部分的新手。我对数字证书有非常基本的了解。我听说像Applets& amp;在客户端计算机上运行并从远程计算机访问其服务的Java Web Start需要按顺序进行数字签名才能执行这些活动而不受任何限制。

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

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

  1. 应用程序使用Java Web-start技术,该技术与在Tomcat7上运行的Servlet进行通信。
  2. DB是SQL Server 2012。
  3. 服务器计算机:Windows 64位2008 R2企业服务器。
  4. Java 7更新25 64位
  5. JWS-app和Web应用程序所需的所有文件(JNLP,jar文件)都打包为单个war文件并部署到Tomcat7。
  6. 任何人都可以为以下查询提供一些想法:

    1. 在应用程序中签署jar文件是否只能避免安全警告?
    2. 签署jar文件的费用是多少?有没有办法免费签署罐子?
    3. 目前,Web启动应用程序通过http连接访问作为JavaEE应用程序在Tomcat7上运行的服务。一旦罐子签名,我是否需要使用https而不是http?
    4. 我发现我需要将以下标记添加到.jnlp文件中:<security><all-permissions/></security>
    5. 除了上述更改之外,我还需要在Java或xml文件中做些什么吗?
    6. Warning shown

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

      提前致谢

1 个答案:

答案 0 :(得分:1)

  

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

这是有道理的。

  

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

Jars显然已经过数字签名,但证书未经验证。

未签名应用。会有一个不同的警告(并且Oracle警告说,将来,他们将默认JVM不运行它们。)

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

  

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

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

  

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

没有

  

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

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


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

如果您找到了,请告诉我们,以便我们可以向Oracle提出高优先级错误报告,并将其修复。