Need help badly regarding JCRMI

Hello everyone,

I am kind of confused between JCRMI and PC/SC. Can someone kindly tell me the similarities or linkage?

I understand that JCRMI acts as a facilitator for easier management of the APDU commands rite? Is PC/SC part of the component that makes up RMI?

What is PC/SC exactly?

Thank you very much!

[339 byte] By [30centsa] at [2007-11-27 10:41:14]
# 1

PC/SC is a specification for communication between a computer/computing device and a smart card. JCRMI is a remove invocation method for JavaCards. The link between the two is that JCRMI will be run over a PC/SC interface.

Lillesanda at 2007-7-28 19:11:29 > top of Java-index,Java Mobility Forums,Consumer and Commerce...
# 2

Thanks for the quick reply.

Can you please further elaborate on " JCRMI will be run over a PC/SC interface" or recommend any read on this?

In that case, can JCRMI be used on other platforms besides java, for example c++?

Thanks so much!

30centsa at 2007-7-28 19:11:29 > top of Java-index,Java Mobility Forums,Consumer and Commerce...
# 3

Now, from what I understand PC/SC is simply a protocol (or specification if you will) for communicating between between a computer and a smart card (i.e. you will need PC/SC drivers for your PC to be able to do communication with your smartcard over USB or some other card reader). JCRMI is - as far as I know - a way of replacing the normal byte coded APDU with function calls on each side, meaning that the RMI does a translation between function calls and APDU in some standardized way. Now, I'm not fully sure about this, but with the very limited research I did on the topic myself I got the impression that JCRMI is a java-specific thing, so that in order to use it with another language you would have to use some binding to Java, but this might be wrong. If you google for Java RMI I'm sure you'll be able to find out more.

I'm sorry that I can't be more clear on this, but I'm simply not experienced enough, and I don't want to lead you in the wrong direction!

Lillesanda at 2007-7-28 19:11:29 > top of Java-index,Java Mobility Forums,Consumer and Commerce...
# 4

RMI is a Java-to-Java technology. To use C++ would require a bridge like JNI

Joseph.Smitha at 2007-7-28 19:11:29 > top of Java-index,Java Mobility Forums,Consumer and Commerce...
# 5

thanks, realli appreciate your help!

30centsa at 2007-7-28 19:11:29 > top of Java-index,Java Mobility Forums,Consumer and Commerce...
# 6

From what i understand from the article "An Introduction to Java Card Technology - Part 3" from

http://developers.sun.com/mobility/javacard/articles/javacard3/

There are 3 major APIs available when writing client-side applications: the OpenCard Framework, the Java Card RMI Client API, and the Security and Trust Services API (SATSA).

Do all three of them require a bridge like JNI?

30centsa at 2007-7-28 19:11:29 > top of Java-index,Java Mobility Forums,Consumer and Commerce...
# 7

That article is a little dated. Use Java 6 Smart Card APIs instead of the OCF. And the downside of JavaCard RMI is it locks you into a Java client. SATSA is for J2ME devices.

Joseph.Smitha at 2007-7-28 19:11:29 > top of Java-index,Java Mobility Forums,Consumer and Commerce...
# 8

Java 6 smart card APIs? are you refering to Java smart card I/O api?

May i know if c++ supports Java smart card I/O api or it still requires JNI?

30centsa at 2007-7-28 19:11:29 > top of Java-index,Java Mobility Forums,Consumer and Commerce...
# 9

Yes, the I/O API...you may use C/C++ to communicate with Java Cards thru PC/SC. You don't need Java to communicate with Java Cards.

Joseph.Smitha at 2007-7-28 19:11:29 > top of Java-index,Java Mobility Forums,Consumer and Commerce...