天极IT资讯短信服务 电脑小技巧 | 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。(首月免费) | |
Java Card平台是一个
安全的多应用环境-许多来自不同供应商的不同的小应用
程序可以在同一张卡片上安全地共存。每个小应用程序被指派给一个执行上下文,这个上下文控制到分配给它的对象的访问。
一个执行上下文和另一个执行上下文之间的界限经常被称为小应用程序防火墙( applet firewall)。它是Java沙箱安全概念的一个Java Card运行时间改进本,联合类装入器java.ClassLoader和访问控制器、 java.AccessController的功能。Java Card防火墙创建了一个虚拟堆,这样一个对象只能访问存在于相同的防火墙内的(公共的)方法和数据。 一个防火墙可能包含许多小应用程序及其他对象,比如公共的秘钥。一个Java Card执行上下文目前作用域是程序包。 当每个对象被创建的时候,它被指派去执行调用程序的上下文。
Java Card平台支持跨防火墙的安全对象共用。图表12描述小应用程序隔离和对象共用:

图表1. 小应用程序防火墙和对象共用
典型的流程,如图表12中的描述:
请求通过调用系统的JCSystem.getAppletShareableInterfaceObject ()方法访问Appletc的共享接口。
由于Appleta,JCRE通过调用小应用程序的getShareableInterfaceObject ()方法来要求Appletc的可共享的接口。
如果Appletc允许共用,Appleta将获得一个Appletc的共享对象的引用。Appleta现在就可以访问Appletc了。 Appleta将拥有它创建的任意对象,即使是那些定义在Appletc的。
在同一个执行上下文中的小应用程序默认情况下能够相互访问,所以Appleta和Appletb不需要遵循这个程序来共享对象。
