Hi,
I don't know if with the cards there was a manual explaining at least basic 
principles. If not a good primer can be found at 
www.smartcardcentral.com/technical/ . Generally speaking processor cards are 
protected by at least one key injected in the card by the manufacturer. In 
order for you to obtain the right to create new files you must prove to the 
card that you know the value of that key. There is a specific APDU (Verify Key) 
that does exactly that. I won't attempt to show you any code since I am new to 
java and I might mislead you (sorry :().

Regards,
Ilias

-----������ ������-----
���:    David Caruso [SMTP:[EMAIL PROTECTED]]
��������:       �������, 26 ������� 2000 5:04 ��
����:   [EMAIL PROTECTED]
����:   [OCF]  No proper credentials available

I am new to smartcard programming and need a little help.

I have a GCR500 terminal and GPK8000 cards. The cards are brand new - no one
has touched them other than myself.  The test programs that come with the
OCF download work so I know that everything is set up properly from a
configuration standpoint.

My end goal is to try to create a file on the card, fill it with data, and
then read it back.  I am using the examples in the OCF Programmer's Guide as
a...well...guide.

My problem comes when I try to create a transparent file on the card.  I get
the following error message:

opencard.opt.service.CardServiceMissingCredentialsException: No proper
credentials available
    at
com.gemplus.opencard.service.gpk.access.GPKCardAccessor.secureTheSession
    at
com.gemplus.opencard.service.gpk.access.GPKCardAccessor.executeCommand
    at com.gemplus.opencard.service.gpk.file.GPKFileSystemService.create
    at com.gemplus.opencard.service.gpk.file.GPKFileUtilityService.createEF
    at
com.gemplus.opencard.service.gpk.file.GPKFileUtilityService.createTransparen
tFile
    at com.dataline.smartcard.CreateFile.init(CreateFile.java:44)
    at com.dataline.smartcard.CreateFile.main(CreateFile.java:70)

Here is the code for my attempt at writing:

      // Get file service
      GPKFileUtilityService facs = (GPKFileUtilityService)sc.getCardService(

GPKFileUtilityService.class,
                                                            true
                                                          );
      // Construct filepaths to the file on the card we will be using.
      CardFilePath rootFilePath = facs.getRoot();
      CardFilePath userFilePath = new CardFilePath(rootFilePath);
      userFilePath.append(new CardFilePath(":c009"));

      CardFile rootFile = new CardFile(facs);
      CardFile userFile = new CardFile(facs, userFilePath);

      if (!rootFile.exists(new CardFilePath(":c009"))) {
        facs.createTransparentFile(userFilePath, 20, null);
      }

      // Get a writer for the file.
      CardFileWriter cfw = new CardFileWriter(userFile);

      cfw.write("data");
      cfw.flush();
      cfw.close();

The exception occurs on the facs.createTransparentFile() call.  I'm assuming
that I need to use some kind of key or secret code, but am unsure about the
process.

If this is the problem could someone give me a pointer to some docs (I've
already read the OCF Programmer's Guide and it didn't really clear anything
up) or fill me in on what I'm doing wrong?

Thanks


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



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