如何避免在部署应用程序时安装“无限强度”JCE策略文件?

174
我有一个应用程序使用256位AES加密,这不是Java的默认支持。我知道要使其正确运行,我需要在安全文件夹中安装JCE无限强度的jar文件。作为开发人员,这对我来说很好,我可以安装它们。
我的问题是,由于该应用程序将被分发,最终用户很可能没有安装这些策略文件。让最终用户下载这些文件仅使应用程序正常运行不是一个吸引人的解决方案。
是否有一种方式使我的应用程序在不覆盖最终用户计算机上的文件的情况下运行?第三方软件可以在没有安装策略文件的情况下处理它吗?或者一种方法只是从JAR中引用这些策略文件?

1
请查看这里:http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#ExemptApps - Petey B
13
我怀疑 Sun/Oracle 的意图是让客户使用不太安全的密码,以便 NSA 可以窃听连接。我并不是开玩笑或过度担心,但密码学被视为武器,分享加密技术存在出口限制。 - Sled
11个回答

-1
在安装您的程序时,只需提示用户并使用DOS批处理脚本或Bash shell脚本下载并将JCE复制到正确的系统位置即可。
我曾经为服务器Web服务执行此操作,而不是提供正式的安装程序,我只提供了设置应用程序的脚本,以便用户在运行应用程序之前可以运行它。您可以使应用程序无法运行,直到他们运行设置脚本。您还可以使应用程序抱怨缺少JCE,然后要求下载并重新启动应用程序?

8
让我的应用程序在最终用户的机器上运行,不要覆盖文件 - erickson
我对我的回答进行了完全的编辑,因为我的初始回答是错误的。 - djangofan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接