> We (the industry) should turn this problem around. If I develop an
> application that needs to read and write a file, I don't also have to
> bring along the filesystem code and the disk drivers as well, yet
> that's where we are in today's world with respect to smartcards! Why
> do you, as an application developer of an application that uses
> smartcards need to worry about reader drivers, EXE files, ocf.jar,
> pcsc.dll, etc...? Why don't operating systems have native (in the
> "included by default" meaning of that word) smartcard support?

I agree completely. However, all "new" categories of devices go through a 
transitional period where their drivers / libraries are not shipped with 
an O/S.

As far as I know, the smart card base components are shipped with Win2K. 
All that's needed in the driver, I imagine.

> My opinion is that the market for smartcards on computers is just
> not big enough (and will it ever be) compared to devices like
> telephones, cell phones and mass transit applications. There is not
> yet enough customer pull for smartcards on the desktop. Witness
> for example Microsoft's recent exodus from the smartcard arena.
> One has to scratch their head when one sees Microsoft leave any
> area of technology!

Maybe they've left the area because the vast majority of smartcards use 
Java and they have publicly rejected Java. They're beaten in this arena. 
To suggest that smartcards will not succeed as a technology ignores what 
is happening every day when we use cards. On the desktop, they are not 
yet proven, except in enterprises where they are used for time and 
attendance / entry control / user authentication etc.

The killer desktop app for smartcards is not there yet.

> So, what do we see customers deploying in the real world? We see
> them deploying proprietary solutions from ActivCard, Gemplus,
> Schlumberger, Bull, etc..., solutions for which a high level
> framework like OCF or even PC/SC is not really necessary.

True, but we hope this will change.

We have developed a framework called DynamicCardServiceFactory. We intend 
this to be used by ISVs (like ourselves, that's why we wrote it) who do 
not issue cards themselves but would like to add card support to their 
applications. i.e. The applications may not be 100% card-centric. It may 
be that cards just add value to the application (think adding PKCS#11 
smartcard support to a java mail reader).

It is an OCF CardServiceFactory that detects card types (using an XML 
definition file) and once detected, implements the OCF 
AppletAccessCardService and AppletManagerCardService interfaces for that 
card, using information taken from the XML file. i.e. There is no 
card-vendor java code on the machine – just XML that lets the application 
developer install their applet if necessary. [ Note: Of course you still 
need code to access the reader, which may be vendor specific, but we are 
looking at providing links / producing a bundle that ISVs can ship which 
includes OCF and all the common reader drivers]

In addition, it will download and cache .jar(s) containing the code 
necessary to implement standard card services, if they are requested by 
the application.

The goal is to allow applications to be written to work with almost any 
smartcard reader and smartcard (where the two are compatible of course). 
Just request the CardService you want, and DCSF will work out if it 
supports it, and whether it needs to download code for you to use it.

We will be releasing this free code shortly, along with an ANT build 
process that will build javacard applets and produce the output file 
format for as many card types as we can get info about. (initially JC21 
.CAP and .JIB for DalSemi ibuttons)

We think you CAN make general solutions like this now with the technology 
available today, when you bring our solution (or one like it) into the arena.

That's our plan. Our own core project will use DCSF to do just that – 
allow end-users to insert any card and see if they can use it with our 
application. If a bank has allowed unrestricted post-issuance (unlikely!) 
they could end up using their bank card with our application. 

The really cool part is that if a card is not recognised (no info about 
it in the XML file) it will check with a central web server to see if 
there is a new XML file, and if so, get it and search again. If it's 
still not found we post the details up to a web server (after asking the 
user for info) so that we have a chance of discovering more about the 
card so we can add it to the XML definition file in future.

So, dynamically updating smartcard applications will be a no-brainer soon 
:-)

> Customers are surely interested in "open standards" until they
> see that the "open standards" on one platform do not play with
> the "open standards" on another. So, what is their response? They
> go to a vendor that provides them with a proprietary smartcard stack,
> APIs and complete application integration. Sure it's proprietary,
> but it works the same way on their UNIX platforms as it does on
> their WinTel platforms as it does on their PDAs as it does on
> their cell phones, and usually the top level of that stack provides
> the real APIs that the customer needs such as PKCS#11, free-form
> data store, e-purse, etc...

Yes, but that's where OCF and Java are well positioned. There's an 
"embedded" version of OCF available from IBM too.

OCF + VOP + our DCSF should make for a very versatile environment.

> What does this say for frameworks like OCF and PC/SC? In my
> experience it says that currently what's needed is a solid
> reader abstraction layer, but that we're not yet ready for
> putting a card abstraction into a generic framework like
> OCF or PC/SC.

> I hope this isn't hearasey :-).

Heresy? Well, not to me, but I personally don't see the problem with 
using OCF. Yeah it is a bit of a mess, some of the edges are very rough – 
i.e. AppletManagerCardService – but while we wait for the standards to 
catch up, we can all be writing real world applications that work using 
OCF 1.2

i.e. In DCSF we have derived our own DCSFAppletCode from OCF's empty 
AppletCode class, to which you pass a byte[] containing the applet code, 
and an AppletInfo containing the AID etc. The XML scripting takes this 
info and installs the applet in a card-specific fashion.

This is after you've used DCSF to work out what format of applet file is 
expected.

Cheers




---
> 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