Hello,

Just wanted to keep everyone up to date.  I have had HUGE progress in the
last 2 weeks !  I will attach some sample configuration files for PC/SC
Unix etc.  I am attaching a simple C program to begin communication
with the reader and establish card communication.  Here is a list of the
current 'new' features: ......

PC/SC Resource Manager runs as it's own process now under an account which
does NOT have to be root but must have some hardware priveledges.

Using Mico CORBA compiled with SSL the client (Application) connects to
the Resource Manager using a secure encrypted channel.

I created a simple lexical configuration file reader.  Upon execution of
the PC/SC server - the config files specified at the command line are
opened and reader/card information is read from them and stored in it's
database.

The application has really NO CLUE that it is talking to CORBA.  It has to
initialize two variables CORBA::orb and CORBA::boa at the beginning of
it's main.  Otherwise it creates objects of type ResourceDB and
ResourceQuery, etc like it would normally.  Those 'local' classes just
forward requests to the CORBA PC/SC server.

The server may run in local or wide area mode.  Basically it can accept
either connections from the localhost or from other sources.

Support for new readers/cards will be done using RedHat Package Manager
(RPM).  Simply rpm -i GDStarCOS.rpm would be all one would need to
do to install new card or reader support.

The application does not have to know what card it is talking to for using
basic functionality ( Select, Create, DIR, etc )  This is all done
dynamically.  The application does not have to know what it is talking to
unless it supports extended functionality in which it can create generic
classes for.

I have tested it with up to 4 applications running simultaneously.  The
server is not yet threading but it seems to time share well with multiple
applications.  I will probably work on threading the server this summer.

I'm planning on a release in the next 2 weeks.  Unfortunately, I'm taking
a Compilers course now and it is taking up quite a bit of my time so I
have been working extra hard to make Beta Release date of March 6 since my
studies will become more intense as the semester progresses.  After the
Beta release I will probably focus my time on the Formatting Utility for
PC/SC Unix and some card/reader support.  Please email me if you have any
questions or if you would like a chart/flow-diagram on how everything ties
together.  ( I will probably spend an ample amount of time with
documenting this in March )  The following is a sample program which
connects to the reader and attaches the card in that reader:

/* Test PC/SC utilization program - David Corcoran */

#include <SCard.h>   /* PC/SC Header File */
#include <stdio.h>

CORBA::ORB_var orb;  /* This is all it has to know about CORBA */
CORBA::BOA_var boa;        

int main(int argc, char **argv) {

  SCARDTRACK *strack;
  RESOURCEMANAGER *rmgr;
  SCARD *scard = 0;

  /* Initializes the CORBA runtime services, connects to server */
  rmgr = new RESOURCEMANAGER();
  rmgr->EstablishContext( argc, argv );

  /* Create the objects like you normally would */
  scard = new SCARD( rmgr );
  strack = new SCARDTRACK( rmgr );

  scard->AttachByIFD("Towitoko ChipDrive", 0x00);
  scard->Detach();
  return 0;
}


Here is an example reader configuration file and card configuration file.

# PC/SC Reader Config File

# Schlumberger Reflex 62/64
FRIENDLYNAME    "Schlumberger Reflex 62"
DEVICENAME      SLB_RF_60
LIBPATH         /root/source/pcsc/src/resmgr/modules/slb_rf60/slb_rf60.so
CHANNELID       0x0103F8

# Towitoko ChipDrive
FRIENDLYNAME    "Towitoko ChipDrive"
DEVICENAME      TOW_CD_EX
LIBPATH         
/root/source/pcsc/src/resmgr/modules/tow_chpdv/.libs/libctapi-towitoko.so
CHANNELID       0x0102F8                                                       


# PC/SC Card Config File

# Schlumberger Cryptoflex 4K Mask 06
FRIENDLYNAME    "Schlumberger Cryptoflex 4K M2"
DEVICENAME      SLB_CRYPTO_4K-M2
ATRVALUE        3BE2000040204906
ATRMASK         06
LIBPATH         /root/source/pcsc/src/iccsp/slb_crypto4k/libslb_crypto4k.so

# Schlumberger  Cyberflex 4K Mask 10
FRIENDLYNAME    "Schlumberger Cyberflex PRE 4K"
DEVICENAME      SLB_CYBER_PRE_4K
ATRVALUE        3B3215004910
ATRMASK         10
LIBPATH         /root/source/pcsc/src/iccsp/slb_cyber4k/libslb_cyber4k.so 

In PC/SC reader/cards are identified by the Friendly ID string.  The user
may create their own friendly ID which maps over to the original if
wanted.

Let me know if you have any questions....... I'll keep you up to date on
it's release date.  I'm expecting in the next couple of weeks.

Thanks
Dave


*************************************************************
David Corcoran                 Internet Security/Smartcards

Home:                          Purdue University
2252 US Highway 52 West        Department of Computer Science
West Lafayette, IN 47906       CERIAS/COAST Laboratory
Home: (765) 463-2455
Cell: (317) 514-4797

http://www.linuxnet.com

*************************************************************



***************************************************************
Linux Smart Card Developers - M.U.S.C.L.E.
(Movement for the Use of Smart Cards in a Linux Environment)
http://www.linuxnet.com/smartcard/index.html
***************************************************************

Reply via email to