Incidentally, I realized that this is off-topic question. Please
        post your JavaCard related questions to [EMAIL PROTECTED] 
        in future.
        
        Thanks,
                -Mayank

> Delivered-To: [EMAIL PROTECTED]
> Old-Return-Path: <[EMAIL PROTECTED]>
> Delivered-To: [EMAIL PROTECTED]
> Date: Tue, 3 Apr 2001 09:34:04 -0700 (PDT)
> From: Mayank Thakore <[EMAIL PROTECTED]>
> Subject: Re: [OCF]  how to use it correctly?
> To: [EMAIL PROTECTED], [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> MIME-Version: 1.0
> Content-MD5: gVTlca9PWmFs51Hp1Uyidw==
> Resent-Message-ID: <[EMAIL PROTECTED]>
> Resent-From: [EMAIL PROTECTED]
> X-Mailing-List: <[EMAIL PROTECTED]> archive/latest/2260
> X-Loop: [EMAIL PROTECTED]
> Resent-Sender: [EMAIL PROTECTED]
> Resent-Date: Tue,  3 Apr 2001 18:34:26 +0200 (CEST)
> 
> Sergio:
> 
>       I presume your main question is -to process APDUs as your read 
>       or not, when the incoming APDUs can be larger than 37 bytes(5+32).
>       Ideally, you would prefer to process APDU as you read. The Java Card
>       API documentation denotes this;
>       
>       // process bytes in buffer[5] to buffer[readCount+4]
>       
>       In other words you would;
>       
>       Util.arrayCopyNonAtomic(apduBuffer, ISO7816.OFFSET_CDATA, apduBuffer, 
> (byte)0, bytesRead);
> 
> 
>       If you have not already read the chapter 8 of the book "JavaCard 
>       Technology for Smart Cards" by Zhiqun Chen, please do so. Also 
>       check the HelloWorld.java example in Sun's Java Card Development 
>       Kit.
>       
>       Hope this helps.
>       
>               -Mayank 
>       
> > Delivered-To: [EMAIL PROTECTED]
> > Old-Return-Path: <[EMAIL PROTECTED]>
> > Delivered-To: [EMAIL PROTECTED]
> > Date: Fri, 30 Mar 2001 10:18:07 -0500 (EST)
> > From: Sergio Lopez <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Mime-Version: 1.0
> > Content-Transfer-Encoding: 7bit
> > X-Originating-IP: 212.120.155.66
> > Resent-Message-ID: <[EMAIL PROTECTED]>
> > Resent-From: [EMAIL PROTECTED]
> > X-Mailing-List: <[EMAIL PROTECTED]> archive/latest/2238
> > X-Loop: [EMAIL PROTECTED]
> > Resent-Sender: [EMAIL PROTECTED]
> > Subject: [OCF]  how to use it correctly?
> > Resent-Date: Fri, 30 Mar 2001 17:18:27 +0200 (CEST)
> > 
> > Dear Gurus,
> > 
> > I am a newcomer in the Java Card World.
> > 
> > I have written only a few test applets to run on the card, similar to the
> > examples provided by the Sun Microsystems.
> > 
> > Moving forward, I have found, that in the Java Card 2.1.1 Application
> > Programming Interface they recommend to use slightly different technique to
> > send and receive APDU, than in the examples.
> > 
> > How would you explain the following part of the javacard.framework.APDU
> > class documentation:
> > 
> > "The incoming APDU data size may be bigger than the APDU buffer size and 
may
> > therefore need to be read in portions by the applet."
> > 
> > What is the correct way of APDU buffer usage:
> > 
> > First variant:
> > 
> > /***** Step1: receive all incoming APDU data *****/
> > 
> > short readCount = apdu.setIncomingAndReceive();
> > 
> > short bytesLeft = (short) (buffer[ISO7816.OFFSET_LC] & 0x00FF);
> > 
> > while ( bytesLeft > 0){
> > 
> > bytesLeft -= readCount;
> > 
> > readCount = apdu.receiveBytes ( ISO7816.OFFSET_CDATA );
> > 
> > /***** Step2: acces any part of the TOTAL resulting APDU buffer to process
> > data ***** /
> > 
> > processAllBuffer();
> > 
> > }
> > 
> > 
> > Second variant:
> > 
> > /***** Step1: receive the portion of the incoming APDU data (of the
> > readCount length) *****/
> > 
> > short readCount = apdu.setIncomingAndReceive();
> > 
> > short bytesLeft = (short) (buffer[ISO7816.OFFSET_LC] & 0x00FF);
> > 
> > while ( bytesLeft > 0){
> > 
> > /***** Step2: access only this particular portion of the APDU data to
> > process *****/
> > 
> > processPortionOfBuffer();
> > 
> > bytesLeft -= readCount;
> > 
> > readCount = apdu.receiveBytes ( ISO7816.OFFSET_CDATA );
> > 
> > }
> > 
> > Thanks!
> > 
> > With every good wish to all of you,
> > Sergio.
> > 
> > 
> > ______________________________________________
> > FREE Personalized Email at Mail.com
> > Sign up at http://www.mail.com/?sr=signup
> > 
> > 
> > ---
> > > 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.



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