为什么要对我的JAR文件签名?

为什么要对我的JAR文件签名?

我知道我需要对客户端JAR文件(包含Applet)进行签名,以便可以执行诸如文件系统访问之类的特殊操作,并且不会显示Windows底部的恼人内容,但是为什么呢?我是否需要对包含Servlet等的服务器端JAR文件进行签名?

何时和何时不签署JAR的一些基本规则将不胜感激-谢谢!

回答:

简短的答案-除非您的公司政策强迫您这样做,否则不要这样做。

回答很长的问题

签名罐子实际上是在告诉您的客户“我做了这个,我保证它不会弄乱您的系统。如果确实如此,请找我报应”。这就是为什么从远程服务器(applets /

webstart)部署的客户端解决方案中的签名jar拥有比非签名解决方案更高的特权的原因。

在服务器端解决方案上,您不必满足JVM安全性要求,这种保证仅是让您的客户放心。

关于签名罐子的坏事是它们的加载速度比未签名的罐子慢。慢多少?它受CPU限制,但我注意到加载时间增加了100%以上。另外,补丁程序更难(您必须对jar进行重新签名),类补丁程序是不可能的(单个包中的所有类都必须具有相同的签名源),并且拆分jar变得很麻烦。更不用说您的构建过程更长,而且适当的证书也要花钱(自签名几乎是无用的)。

因此,除非您的公司政策强迫您这样做,否则请勿在服务器端对jar进行签名,并在签名和非签名版本中保留常见的jar(已签名将转到客户端部署,未签名将转到服务器端代码库)。

以上是 为什么要对我的JAR文件签名? 的全部内容, 来源链接: utcz.com/qa/402254.html

回到顶部