我开发了一个applet。但是,当我的浏览器从网络服务器获取它时,它会弹出一个安全战争。我不希望这条消息来。意义applet应该在没有最终用户渗透的情况下运行。我怎样才能做到这一点?我是否需要签署我的applet?如果是的话,从哪里可以签名?签署签名的成本是多少?
答案 0 :(得分:0)
您需要获得代码签名证书。如果您想避免所有警告,可能由一些“知名”CA.证书本身需要花钱,但是一旦你拥有它,你可以使用它来签署任意数量的小程序(你自己签名)。
答案 1 :(得分:0)
您的描述可能与许多问题有关,例如代码尝试执行需要信任的事情。这听起来不像这种情况。如果您的未签名代码尝试执行需要信任的操作,则它不会在启动时提示用户,而是在尝试受信任的操作时提示它们(例如,在以后的JRE中进行跨站点访问)或者只是在AccessControlException或类似。
可能是您的applet使用多个Jars并且遇到了Java 1.6.0_20中引入的mixed code restrictions。但这些症状听起来也不太合适。
您的applet是否公开发布?我/我们可以访问它的URL是什么?
顺便说一句,如果您的applet试图突破安全沙箱,那么它必须是可信任的。这意味着代码必须经过数字签名,最终用户可以在提示符下使用。没有办法解决它。
但它不需要从CA颁发的代码签名证书。您可以使用SDK的工具滚动自己的代码签名证书。我有一些小型演示。在签名之前编译和构建代码的代码项目。