是否可以仅签署小程序的一部分? 即,有一个applet不会弹出有关签名的安全警告,但是如果使用了某些特定功能(需要特权),则使用签名的jar?
据我所知,即使您在执行时根本不请求特权,某些(也许大多数)浏览器也会弹出警告,提示您有签名的applet。 如果可能,我宁愿避免这种情况。
是否可以仅签署小程序的一部分? 即,有一个applet不会弹出有关签名的安全警告,但是如果使用了某些特定功能(需要特权),则使用签名的jar?
据我所知,即使您在执行时根本不请求特权,某些(也许大多数)浏览器也会弹出警告,提示您有签名的applet。 如果可能,我宁愿避免这种情况。
尝试将代码拆分为一个未签名的jar和一个签名的jar。
从理论上讲,您可以(带符号的+无符号的jar),但是实际上,这将导致您的代码被视为无符号的。 访问决策应从线程而不是直接调用者做出。 如果线程在堆栈中包含由无符号代码的对象进行的调用,则整个调用应视为无符号。 如果您解决此问题,您将发现一个错误。
换句话说... 不 。
如果我不感到好奇,请问为什么要部分签名代码?
给我的印象是Sun希望阻止Applets的创建并鼓励使用Java Web Start。 我认为签署小程序这一问题是问题的一部分。 请参阅Sun的本文档: Java Web start FAQ 。
我没有尝试过,但是您能否将需要登录的功能细分到单独的jar中,而仅当用户需要这些jar中的功能时才需要权限检查?