2010-05-12 18 views
6

Sto cercando di capire come Java acceda alle smart card, a causa di un'analisi del progetto. Mi chiedo se c'è qualche tipo di smart card virtuale che potrei usare per fare dei test con Java?Accesso alla smart card con Java

A proposito, ho letto su Java Card e sembra che sia usato per eseguire Java in schede, non per accedere ai dati della smart card con Java, giusto?

risposta

9

Look at this tutorial + example. E related. (Ho usato questi esempi e funzionano bene).

Un punto importante è che non è possibile ottenere nulla dalla smart card. Puoi solo inviare cose al suo processore. Quindi, ogni volta che si ottiene un oggetto PrivateKey, in realtà non si dispone della chiave privata: si tratta solo di un proxy per il processore SmartCard, e chiamando i metodi su di esso, chiama il processore.

Tuttavia, non sono a conoscenza delle smart card virtuali.

Un'API di interesse è javax.smartcardio

+0

I "Impossibile ottenere nulla dalla smart card" non significa che non riesco a ottenere la sua chiave pubblica, spero –

+1

Ok, ho trovato ulteriori informazioni su: http://www.java2s.com/Open -Source/Java-Document/6.0-JDK-Core/smartcardio/javax.smartcardio.htm –

+0

è possibile ottenere la chiave pubblica, sì – Bozho

2

C'è un emulatore Java Card in bundle con il Java Card Development Kit. Se pianifichi di utilizzare una vera carta ad un certo punto, prendi la versione 2.2.1 o 2.2.2 poiché non mi aspetto alcuna scheda di versione 3 per un po '. Avrai ancora bisogno di un'applet per inserire la carta. Una carta java non fa nulla da sola. Non è fino a quando non si carica un'applet di carte che svolgerà qualsiasi funzione utile.

Un problema con l'emulatore nel JCDK è che non è possibile utilizzare javax.smartcardio per accedere alla scheda e questo è il metodo preferito al momento per comunicare con una scheda. L'altra alternativa popolare, OpenCard Framework, non è stata attivamente mantenuta da un po 'di tempo.

0

Se avete bisogno di emulare JavaCard tenta di utilizzare jCardSim: http://jcardsim.org. Supporta anche l'accesso tramite API javax.smartcardio e script di apdu.

1

Javacard utilizza Java solo un sottoinsieme dello sviluppo Java È preferibile non utilizzare l'ambiente di sviluppo Java Perché alcuni effetti speciali non supportano È possibile scaricare il plug-in o un IDE di sviluppo dedicato, è possibile scaricarlo da qui www.javacos.com ambiente di sviluppo correlato.

Problemi correlati