2010-05-12 36 views
6

Estoy tratando de aprender cómo Java accede a las tarjetas inteligentes, debido a un análisis del proyecto. Me pregunto si existe algún tipo de tarjeta inteligente virtual que pueda usar para hacer algunas pruebas con Java.Acceso a la tarjeta inteligente con Java

Por cierto, que he leído sobre Java Card, y parece que se utiliza para ejecutar Java en las tarjetas, no a un crecimiento inteligente acceso a los datos de la tarjeta utilizando Java, ¿verdad?

Respuesta

9

Look at this tutorial + example. Y related. (He usado estos ejemplos y funcionan bien).

Un punto importante es que no se puede sacar nada de la tarjeta inteligente. Solo puedes enviar cosas a su procesador. Entonces, cada vez que obtienes un objeto PrivateKey, no tienes la clave privada, esto es solo un proxy para el procesador SmartCard, y los métodos de llamada en él, llaman al procesador.

No conozco las tarjetas inteligentes virtuales, sin embargo.

Una API de interés es javax.smartcardio

+0

que "no puedo sacar nada de la tarjeta inteligente" no significa que no pueda obtener su clave pública, espero –

+1

Bueno, he encontrado más sobre: ​​http://www.java2s.com/Open -Fuente/Java-Documento/6,0-JDK-Core/smartcardio/javax.smartcardio.htm –

+0

puede obtener la clave pública, sí – Bozho

2

Hay un emulador Java Card incluido con el Java Card Development Kit. Si planea usar una tarjeta real en algún momento, obtenga la versión 2.2.1 o 2.2.2 ya que no esperaría ninguna tarjeta de la versión 3 por un tiempo. Aún necesitará un applet para poner en la tarjeta. Una tarjeta java no hace nada por sí misma. No es hasta que cargue un applet de tarjeta que realizará cualquier función útil.

Un problema con el emulador en el JCDK es que no se puede usar javax.smartcardio para acceder a la tarjeta y este es el método preferido en este momento para comunicarse con una tarjeta. La otra alternativa popular, OpenCard Framework, no se ha mantenido activamente en algún momento.

0

Si necesita emular JavaCard tratan de utilizar jCardSim: http://jcardsim.org. También es compatible con el acceso a través de javax.smartcardio API y apdu-scripts.

1

Javacard usa Java solo un subconjunto del desarrollo de Java Es mejor que no use el entorno de desarrollo de Java Porque hay algunos efectos especiales no es compatible Puede descargar el complemento o un IDE de desarrollo dedicado, puede descargarlo desde aquí www.javacos.com entorno de desarrollo relacionado.

Cuestiones relacionadas