Im not sure I have addressed the full set of issues - even within the muscle
community. My only goals was to to get a faster reader/card setup, not to
address norms and standards.
If I put on my old OSI standards hat:
The host-side muscle provider only bothers to Identify the card (i.e.
attempt to bind to a card manager or applet) if the PC/SC context is NOT
direct.
Lets turn that around: if the context is direct, the host application is
responsible for make an explicit bind to the cardmanager/applet of its
choice.
So, we could retain the traditional behaviour in muscle (bind to cardmanager
on connect), unless the application has created required a direct channel =
specifically in order to take control over the initial security context
issue itself.
I dont know if these "direct" semantics used by Muscle are infact consistent
those ordained by PC/SC for "direct" connections, but they make a certain
sense.
If I were couseling a std.s track effort, I suspect Id mandate that
applications correctly use direct channels, rather than use the hack I am in
fact applying.
From: Peter Tomlinson <[EMAIL PROTECTED]>
Reply-To: MUSCLE <[email protected]>
To: MUSCLE <[email protected]>
CC: Teresa Schwarzhoff <[EMAIL PROTECTED]>
Subject: Re: [Muscle] muscle applet as a cardmanager?
Date: Fri, 16 Sep 2005 07:14:29 +0100
Karsten Ohme wrote:
Peter Williams wrote:
Karsten,
you might consider including the following code modification (note last
line), in the musclecardApplet.c plugin. If the length of the default
applet AID is 0, for the AID one looks up in the service.plist having
determined the coldreset ATR, then no further identification is required.
OK, thanks, I applied the patch. This would mean that the
programmer/installer of the card must know if the card has the default
selected privilege and is already selected by default. I addition to
this I could implement a handling of SELECT commands in the CardEdge
applet, so that is can execute the SELECT command and will not fail.
Karsten
ISO SC17 WG4 TF9 is developing an interoperability standard (to be ISO/IEC
24727) intended to do two things:
- define a deterministic method for reliably starting up a card
- provide standard methods for finding card contents
The aim of course is that the problem of the terminal having to know about
the card before it starts it has to go away. Note that I appreciate that
some developers want to have a specific app default selected - if that is
to continue, then there has to be a command (and its implementation in the
card) included in the startup sequence to allow the terminal to determine
what app is default selected (card manager or a user app) - that may affect
JCRE which, if I read it correctly, says that SELECT on AID is intercepted
by the card OS, but all other commands get passed to the currently selected
app (although there are of course some other card management commands
expected to be intercepted).
So to questions to the list (and TF9):
- are MUSCLE developers, GP, JCRE, and WG4 TF9 working together here?
- is WG4 TF9 outlawing default user app select at card startup?
Peter
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle