2010-09-29 29 views
6

C'è una libreria (API) in Java con cui posso interagire con una smart card? Simile alla libreria WinSCard.Come interagire con una smart card in Java?

Devo essere in grado di connettermi con la smart card e leggere i dati da esso. Ho bisogno di implementarlo in Java in modo che io possa usarlo sotto qualsiasi sistema operativo (Linux, Mac, Windows). Poiché, la libreria WinSCard funziona solo sotto Windows perché utilizza una DLL (WinSCard.dll).

C'è qualcosa di buono come WinSCard in Java?

risposta

7

Una delle soluzioni è l'uso di Java™ Smart Card I/O API. Vedere la sezione "Description" per un semplice esempio di utilizzo.

+0

+1. C'è un esempio di API alla fine di quella pagina che è davvero utile. –

+0

come puoi ottenere questa API? im attualmente utilizzando jre7 – ralphgabb

+0

@ralphspoon Questa API è disponibile con un'installazione JDK (dalla versione 6 di Java). Quindi, per prima cosa, devi avere [JDK] (http://www.oracle.com/technetwork/java/javase/downloads/index.html) installato ([Qual è la differenza tra JDK e JRE?] (Http://stackoverflow.com/questions/1906445/what-is-the-difference-between-jdk-and-jre)). In secondo luogo, aggiungi le importazioni correlate nella parte superiore del tuo file Java (o importa tutto, ad esempio 'import javax.smartcardio. *;') – informatik01

1

L'API di base è la Smartcard IO, che offre operazioni di base per inviare APDU alla scheda. Dopo questo, sono disponibili diverse API superiori. Ad esempio, se è necessario connettersi a una JavaCard per gestire l'applet, è necessaria un'implementazione della piattaforma globale, ad esempio lo Opal Library (auto-promozione Shameless).

1

Specifiche PC/SC come lettore e un'interfaccia standard tra scheda e computer. Aprire il file di intestazione chiave PC/SC VSC WinScard.h. Con java puoi chiamare il PC/SC di VC. Come una via di mezzo per risolvere i tuoi problemi.