Hi *,

does anyone know if the size of Transparent files that I can create in a
GPK-8000 card is limited ?

I try via OCF/Gemplus GPK services 0.2 etc
to create a file 1412 bytes. Everything is fine (no exceptions are thrown
or errors occur). However when I try to read the same file from the
smartcard and compare it with what I have written, I discover that
something different is there.
The comparison reports different error positions for different file sizes.
e.g. if I write a file 1400 bytes long ... I find that the contents start
differing from position 66 within the byte[]
if 1260 ... maybe at position 60 within the byte []

well if it was that the transparent files had a limited size (e.g. in
chunks) then I should get an error (exception) while writing or at least
the position my 2 byte arrays differ should be constant (indicating the
end of the file). however nothing of these happen ...

So
1) Did anyone else had the same problem and if yes how did he deal with it?
2) What is the biggest transparent file I can read/write within a GPK-8000?
3) is there any difference in using GPKFileSystemService or
   GPKFileUtilityService ?

Thanks in advance for any hints.


The code I use for creating reading the file is below.

    // GPK services
    GPKAdministrativeService  acs;
    GPKFileSystemService      fss;
    GPKFileUtilityService     fus;

System.out.println("Creating " + bytesToAllocate + " byte EF " +
scFileLocation);
fus.createTransparentFile(scFileLocation, bytesToAllocate, null);
info = fus.read(scFileLocation, cardFileOffset, bytesToAllocate);
writeData = scFile;
System.out.println("Writing " + bytesToAllocate +
                   " bytes to SmartCard file " + scFileLocation + "..." );
//fss.update(scFileLocation, cardFileOffset, writeData, 0, bytesToAllocate);
fus.update(scFileLocation, cardFileOffset, writeData, 0, bytesToAllocate );
System.out.println("Reading " + bytesToAllocate +
                   " bytes from SmartCard file " + scFileLocation + "..." );

//info = fss.read(scFileLocation, cardFileOffset, bytesToAllocate);
info = fus.read(scFileLocation, cardFileOffset, bytesToAllocate);
System.out.print("Checking if Data was stored correctly in the
SmartCard...");
for ( int i = 0 ; i < bytesToAllocate ; i++ )
                if ( info[i] != writeData[i] ) {
        System.out.println("SmartCard Data *ERROR* in file "+
scFileLocation+" at position " + i + ", current value
= " + info[i]+" is DIFFERENT from written value =" +
writeData[i]);}






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