Tag Archives: Java Card

R13: WSA, CAD, APDU and some more

[Work done from 15th December to 28th December 2008]

We presented our project to ICTA officials on 23rd December 2008 for the pre-selection competition for World Summit Award(WSA). We were doing initial preparations during the starting week of this period. We had a meeting with our supervisor prior to the presentation and discussed with him regarding the project progress and suggestions for the ICTA presentation. We all the group members attended and they were inspired by our ideas and the work done. After the succesful completion of the presentation, we had a meeting with our supervisor the very next day(24th December 2008) and updated him with the details.

Technically I was working on the workstation application which connects with CAD (Card Acceptance Device) and communicate with the Smart card via APDU commands. This application was partially finished and later couldn’t be proceeded until the Java card arrival. This was due to the reason that some of the functionalities can not be tested without the physical devices. The JCWDE and CREF simulators were useful for applet development and testing but for the workstation application no simulation was possible.

Filed under Reports

R12: Java Card Client Terminal

[Work done from 1st December to 14th December 2008]

For the last two week period I was working on Client terminal application and the RMI implementation to the eID Java Card application. I had to refer to the manual and read through online forums to get some idea to sort out the problem in hand. This is now almost done and I’m on the track to meet the local deadlines.

During this period we had a meeting with our project supervisor and discussed the progress of the project. We are also getting ready for the WSA competition and our project has already been proposed. Now we are getting ready for a presentation plus demonstration on next Wednesday as requested by ICTA regarding this WSA competition.

We’ve also purchased two Java Cards and One reader/writer and it is now being shipped. As soon as it is arrived we can further boost up the progress and complete the implementation within this month

Filed under Reports

Java Card and Reader/Writer Ordered

We’ve ordered for the following products and hopefully they’ll arrive within next few days. The order has been placed for two Java Cards and one Reader/Writer.

NXP (Philips) JCOP 41 V2.2.1/72K USB
SCM SCR3310 Reader/Writer

We shall start working on these as soon as they arrive.


Filed under News

R11: Wearing the Java CAP

[Work done from 17th November to 30th November 2008]

We had our 3rd formal evaluations of the project during this period. So that I was working very hard to achieve my own deadlines to produce a working model of the Java card applet. I finally succeeded in developing the applet with signing and verification implemented, but the terminal application and the client side development was in the halfway. Because of that I was able to demonstrate the applet, installing, converting to CAP (Converted Applet), and deployment only. Without the terminal, I couldn’t send different APDU’s and demonstrate the output. But anyway our Supervisor and Project Coordinator were satisfied with the progress. It seems like I’m wearing the Java CAP all these days…!

Earlier to the final 3rd Demonstration, we did a trial demonstration to our Supervisor Dr.Chandana Gamage and got his feedback to further improve the quality of the system and the demonstration.

We also had two meeting with our Supervisor during this period and also had a meeting with a WSO2 personnel Mr.Nandana. Hope these will be really helpful to make the final system more productive

Filed under Reports

R10: Working on Java Card Applets

[Work done from 3rd November to 16th November 2008]

For the last two week period I was busy with completing my modules for the demonstration. I was doing the development in the Java card environment, I had to develop an applet which will be deployed in a Java card as a CAP file. The methods defined in these applets can be accessed in two methods, message passing model and Remote method invocation method. I’m developing a terminal application which is a normal java program which will reside in the local machine and can communicate with the Java smart card. This is very essential as this is the main component which can help to demonstrate the functionality of Java card applet. Otherwise the applet can be converted to a CAP file and deployed to a Java card, but there is no way to check the functionalities.

We had a meeting with our project supervisor Dr.Chandana Gamage and discussed the progress of the project. During the meeting we finalized the deliverables of the project. We are still updating our blog at project website blog.project-eid.org with the latest updates and progresses of the project. The project website is also being updated periodically.

In addition to the meeting with the supervisor, we had several group discussions and exchanged ideas. Each one of us are responsible for clearly separated modules of the project, and also we have to interact within those modules. For this purpose each one of us should be aware of other’s work. For this purpose we are having online conferencing whenever needed.

Filed under Reports

Functions of Java Card Applet

Select method

The select method tells the JCRE if the applet is ready to process requests, by returning a true value. If the applet is not ready to accept processing requests, the select method returns a false value.

Deselect method

If an applet is selected and you want to select an applet with a different AID, the JCRE calls the currently selected applet’s deselect method.

Process method

Once an applet is selected all communications between the applet and the client application are sent to the process method

This method accepts an APDU object as a parameter. The APDU is sent from the client application to the java card applet, the client application then waits for a response APDU in return. For security reasons references to an APDU object are only allowed within a method, so an APDU must be passed in as a parameter to the method or stored in a local variable. This is to protect against the possibility of one Java Card applet accessing APDU data that belongs to another Java Card applet.

Other specific methods

Writing Data

  • setPersonalData()
  • setPublicPrivateKeys()
  • setBiometrics() – If needed

Reading Data

  • verifyPin()
  • validateSignature()

Filed under Articles