Hi Dimitri,

Current AppletManagerCardService interface may seem to be designed for 
JavaCard and not suitable for MultOS, actually you can use it for both.

first let me explain what register means; with JavaCard platform, the 
loading (installation) of an applet and its activation (making it 
selectable) are two different steps while on Multos card, the OS lets you 
select your application once just loaded.

the aim of the installApplet() method is so to provide a way to store the 
byte-code (or whatever-code) of your application into card's EEPROM, and 
the registration allows application instanciation and makes the OS 
dispatcher aware of that instance (creating an entry into an "on-board 
registry").

now how to use the AppletManagerCardService, obviously if you implement 
your own prototype, or if you provide a service implementing that interface 
with empty methods and addind new ones, you won't benefit of OCF scheme 
(factoring, service registration, ...), you should so implement the three 
defined methods.

you can easily follow these rules and success in your implementation just 
giving more (some) sense to the parameters these methods receive:

installApplet except an AppletCode instance; this class is defined as an 
empty abstract class, you so have to implement an actual Multos AppletCode 
meaning a class that defines how a Multos application is coded; such class 
will contains (manages, ...) a stream connected to an alu file and the 
certificat used for loading, indeed both are need for installApplet method 
(certif. transmitted with INS 12h and alu file loaded with INS 24h).

Multos does not require application registration and registerApplet() seems 
meaningless, in fact you should use this method to keep (card & applet 
management system may be usefull) a link between applications (known by 
their AID) and installation/removal process; you should use this method to, 
for instance, store in a database the deletion certificate (as well as 
memory used by that application) linked with that AID.

finally, you'll implement removeApplet() to get back the deletion cert. 
from the base using the AID and to perform actual deletion of application. 
(INS 18h transmitting cert.).

generic applet loading mechanism has a constraint, services offered by the 
AppletManagerCardService interface is not a limitation, nor obviously the 
way a service implementing that interface will be selected (factoring is 
efficient enough) but, of cause, the availability of code for the used 
card; any other services make total abstraction of the actual card, an 
specific implementation of a service must take all card characteristics 
into account, when you want to use generic applet loader, you should also 
have all necessary AppletManagerCardService implementations (Multos, 
JavaCard, ...) but also all applet codes (alu file, cap file, ...) .... i 
guess (hope) loader have not to be generic !

Sylvain.



At 16:11 28/06/00 +0200, Dimitri Langlois wrote:
>I would like to make a kind of AppletManagerCardService for Multos, but this
>interface doesn't seem adapted for it. With Multos, each time you load or
>delete an application, you have to provide a certificate, and neither the
>registerApplet (What is applet registration, by the way ? Do you have to
>register the applet after having installed it ?) nor the removeApplet
>methods are able to take a certificate parameter.
>
>What should I do ? Wait for the next version of OpenCard, which will perhaps
>take this is consideration (but I guess I can wait for long), or just make a
>"standard" service, with all methods taking all the parameters I want ?
>And in fact, what are the benefits of using the AppletManagerCardService
>interface ?
>
>Regards,
>
>Dimitri.



---
> Visit the OpenCard web site at http://www.opencard.org/ for more
> information on OpenCard---binaries, source code, documents.
> This list is being archived at http://www.opencard.org/archive/opencard/

! To unsubscribe from the [EMAIL PROTECTED] mailing list send an email
! to
!                           [EMAIL PROTECTED]
! containing the word
!                           unsubscribe 
! in the body.

Reply via email to