为什么要对我的JAR文件签名?
为什么要对我的JAR文件签名?
我知道我需要对客户端JAR文件(包含Applet)进行签名,以便可以执行诸如文件系统访问之类的特殊操作,并且不会显示Windows底部的恼人内容,但是为什么呢?我是否需要对包含Servlet等的服务器端JAR文件进行签名?
何时和何时不签署JAR的一些基本规则将不胜感激-谢谢!
回答:
简短的答案-除非您的公司政策强迫您这样做,否则不要这样做。
回答很长的问题
签名罐子实际上是在告诉您的客户“我做了这个,我保证它不会弄乱您的系统。如果确实如此,请找我报应”。这就是为什么从远程服务器(applets /
webstart)部署的客户端解决方案中的签名jar拥有比非签名解决方案更高的特权的原因。
在服务器端解决方案上,您不必满足JVM安全性要求,这种保证仅是让您的客户放心。
关于签名罐子的坏事是它们的加载速度比未签名的罐子慢。慢多少?它受CPU限制,但我注意到加载时间增加了100%以上。另外,补丁程序更难(您必须对jar进行重新签名),类补丁程序是不可能的(单个包中的所有类都必须具有相同的签名源),并且拆分jar变得很麻烦。更不用说您的构建过程更长,而且适当的证书也要花钱(自签名几乎是无用的)。
因此,除非您的公司政策强迫您这样做,否则请勿在服务器端对jar进行签名,并在签名和非签名版本中保留常见的jar(已签名将转到客户端部署,未签名将转到服务器端代码库)。
以上是 为什么要对我的JAR文件签名? 的全部内容, 来源链接: utcz.com/qa/402254.html