2013-11-21 22 views
0

我是新来认证java.Just在另一篇文章中就在刚才,我发现这是不可能使用的jarsigner的Java应用程序,它仅用于applets.Could人确认这一点?认证罐(不含小程序)

接下来,我想知道,什么是常见的方式人民开发商给thier应用到客户端,我的意思是做自己不把任何证书呢?我的意思是一年或者半年的证书。

这我说的是相对于

UPDATE 这是我尝试了正常的Java应用程序不是一个小程序:我昨天jarsigned我的应用程序,给了1天的有效性,当今天我看到它永远不会过期。所以我才想知道它是否仅适用于小程序?

+0

任何罐子都可以签名。只有少数特殊情况必须是。应用程序可以执行自己的签名检查。 – mkl

+0

怎么办呢?请提供一些帮助 –

+1

您可能需要阅读Java教程[代码签名并授予它的权限(http://docs.oracle.com/javase/tutorial/security/toolsign/index.html)课。它是[Java SE中的安全功能](http://docs.oracle.com/javase/tutorial/security/TOC.html)的一部分,您可能想完全学习。 – mkl

回答

1

如果你有给你们送罐到客户端的可信方式,你不必签署它。一个“正常的”Java程序对签名的jar也不会做任何不同的事情。

但是是有区别的,如果你使用的分发应用程序的其他方式。你已经提到过小程序。用户不能确定谁在提供应用程序。通过签名,你可以确保它来自可信任的人(你)。

另一个大的用例是Java Webstart。如果你想用这个工具分发你的应用程序(一个好主意),你需要签署Jar文件,如果你的应用程序想要有一些额外的权限(如访问文件,网络IO,类似的东西)。如果用户信任这些证书,则启动该应用程序。

至于时间:通常这些应用程序与相当长的效度(> 2年)比应该一辈子应用签署,通常较长。

+0

无论我做了什么研究,我都找到了许可一个java应用程序而无需使用期限的东西 –

+1

嗯,它并不意味着许可。签署jar是为了确保用户可以信任代码没有被篡改。对于许可,您可以轻松实施自己的机制。 – Matthias

+0

jarsigner中的有效性标志怎么样? –