代码签名和认证
Java安全模型很重要的一点就是它能支持认证,这是在Java 1.1的java.security包及其子包中引入的特性。
认证功能加强了用户的能力,使用户能通过实现一个沙箱来建立多种安全策略,
这个沙箱可以依赖于为这个代码提供担保的对象来改变。
认证可以使用户确认,由某些团体担保的一些class文件是值得信任的,并且这些class文件在到达用户虚拟机的途中没有被改变。
这样,如果用户在一定程度上信任这个为代码作担保的团队,也就可以在一定程度上简化沙箱对这段代码实施的限制。
可以对由不同团体签名的代码建立不同的安全限制。
要对一段代码作担保或签名,必须首先生成一个公钥/私钥对。
用户保管私钥,把公钥公开。
至少,应该把公钥给那些要在你的签名上建立安全策略的人。
一旦拥有了一个公钥/私钥对,就必须要签名class文件和其他文件放到一个jar文件中,然后使用一个工具对整个jar文件签名。
签名工具将首先对jar文件的内容进行单向散列计算,以产生一个散列。 <