繁体   English   中英

如何对从Tomcat服务器访问服务的JNLP应用程序进行签名?

[英]How to sign a JNLP application which access the service from a tomcat server?

我对任何应用程序的安全性部分都不熟悉。 我对数字证书非常基础的知识。 我听说诸如Applets和Java Web启动之类的应用程序在客户端计算机上运行,​​并从远程计算机访问其服务需要进行数字签名,以便无限制地执行活动。

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

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

  1. 应用程序使用Java网络启动技术,该技术与在Tomcat7上运行的Servlet进行通信。
  2. DB是SQL Server 2012。
  3. 服务器计算机:Windows 64位2008 R2企业服务器。
  4. Java 7更新25 64位
  5. JWS-app和Web-app所需的所有文件(JNLP,jarfiles)都打包为一个war文件,并部署到Tomcat7。

任何人都可以为以下查询提供一些建议:

  1. 是在应用程序中签名jar文件是避免安全警告的唯一方法吗?
  2. 签署jar文件需要费用吗? 有什么办法可以免费给罐子签名吗?
  3. 当前,Web启动应用程序通过http连接访问在Tomcat7上作为JavaEE应用程序运行的服务。 罐子签名后是否需要使用https而不是http?
  4. 我发现我需要在.jnlp文件中添加以下标签: <security><all-permissions/></security>
  5. 除了上述更改之外,我还需要在Java或xml文件中进行其他操作吗?

显示警告

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

提前致谢

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

这说明了。

是在应用程序中签名jar文件是避免安全警告的唯一方法吗?

罐子显然已经进行了数字签名,但证书未经验证。

未签名的应用。 将会有不同的警告(Oracle警告说,将来,他们将默认使用JVM使其完全不运行)。

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

签署jar文件需要费用吗? 有什么办法可以免费给罐子签名吗?

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

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

没有。

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

我怀疑您需要指定。 甚至是沙盒应用。 可以“打电话回家”到同一台服务器。 如果使用受信任的证书进行数字签名,则警告将更加温和。


您需要牢记的一件事是,所有这些安全性并不是为了开发人员的方便,而是最终用户的安全(以及用户对插件的信心)。 因此,当您尝试查找“腾出空间”时,实际上是在尝试查找JRE中的安全错误。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM