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