2010-09-29 15 views
6

Gibt es in Java eine Bibliothek (API), mit der ich mit einer Smartcard interagieren kann? Ähnlich wie die WinSCard-Bibliothek.Wie interagieren Sie mit einer Smartcard in Java?

Ich muss in der Lage sein, mit der Smartcard zu verbinden und Daten von ihm zu lesen. Ich muss es in Java implementieren, damit ich es unter jedem Betriebssystem (Linux, Mac, Windows) verwenden kann. Da die WinSCard-Bibliothek nur unter Windows funktioniert, da es eine DLL (WinSCard.dll) verwendet.

Gibt es in Java etwas so gut wie WinSCard?

Antwort

7

Eine der Lösungen ist Java™ Smart Card I/O API zu verwenden. Ein einfaches Anwendungsbeispiel finden Sie im Abschnitt "Description".

+0

+1. Es gibt ein API-Beispiel am Ende dieser Seite, das wirklich hilfreich ist. –

+0

Wie können Sie diese API bekommen? Im Moment benutze ich jre7 – ralphgabb

+0

@ralphspoon Diese API ist mit einer JDK-Installation verfügbar (seit Java Version 6). Also zuerst muss [JDK] (http://www.oracle.com/technetwork/java/javase/downloads/index.html) installiert sein ([Was ist der Unterschied zwischen JDK und JRE?] (Http://stackoverflow.com/questions/1906445/what-is-the-difference-between-jdk-and-jre)). Zweitens, fügen Sie verwandte Importe am Anfang Ihrer Java-Datei hinzu (oder importieren Sie alles, zum Beispiel 'import javax.smartcardio. *;') – informatik01

1

Die grundlegende API ist die Smartcard IO, die grundlegende Operation bieten, um APDU an die Karte zu senden. Danach stehen mehrere höhere APIs zur Verfügung. Wenn Sie beispielsweise eine Verbindung zu einer JavaCard herstellen müssen, um Applet zu verwalten, benötigen Sie eine Implementierung der globalen Plattform, z. B. die Opal Library (Schamlose Eigenwerbung).

1

PC/SC Spezifikation als Lesegerät und eine Schnittstelle zwischen Karte und Computer.Öffnen Sie die VC-Unterstützung PC/SC Standardschlüssel Header-Datei WinScard.h. Mit Java kann der PC/SC von VC.Als ein Mittelweg, um Sie Probleme zu lösen.