KV-Karte mit Java ansprechen

Orthak

Mitglied
Hallo zusammen,
beschäftige mich gerade mit dem Thema SmardCards und wollte meiner Krankenversicertenkarte (Deutschland) zu Leibe rücken. Leider funktioniert die Kommunikation nicht wie gewünscht. Kurz gesagt kommt immer '6E00' (CLA nicht unterstützt) zurück. Egal was ich an die Karte sende. Ich verwende javax.smartcardio für den Zugriff und spreche die Karte über T-0 an.

Hier ein Programmausschnitt:
Code:
	public void getKVDaten() {
		
		ATR atr = card.getATR();
		channel = card.getBasicChannel();
		
		// Karte initialisieren
		byte[] cmdInitCard = { 20, 11, 00, 00};
		commandAPDU = new CommandAPDU(cmdInitCard);
		
		try {
			responseAPDU = channel.transmit(commandAPDU);
			System.out.println(responseAPDU.toString());
			
		} catch (CardException e) {
			e.printStackTrace();
		}

Hat jemand eine Idee woran das liegen könnte?


P.S.: Die Lösung aus diesem Thread ist für mich nicht interessant. Die Anwendung soll komplett in Java geschrieben sein.
 
Hallo genodeftest,
ich benutze Windows 7 (32Bit). Die Chipkartenleser meldet sich auf Anfrage ( factory.terminals().list() ) korrekt.
 
Ich habe inzwischen das OpenCardFramework als Alternative für den Zugriff ausprobiert und einige Chipkarten mit dem Programm "Chipcard master" erfolgreich ausgelesen. An dem Reader liegt es nicht (Cherry SmartBoard G83). Es scheint, dass keine reinen Speicherkarten eingelesen werden können. Das entsprechende, synchrone Protokoll (S=8) wird nicht unterstützt.
 
Nach dem was ich bisher gelesen habe, sind T=0/1 asynchrone Kommunikationsprotokolle. S=8 ist ein einfacheres, synchrones Protokoll das bei reinen Speicherkarten zum Einsatz kommt. Leider unterstützt javax.smartcardio nur T=0/1. Ich fürchte es gibt keine reine Java-Lösung zum Zugriff aus solche Speicherkarten :(.
 
Warum willst du denn synchron auf die SmartCard zugreifen? Asynchrone Zugriffe sind doch besser (Möglichkeit zur Fehlerbehandlung, Programm wird nicht unnötig blockiert, …)
 
Speicherkarten lassen keinen asynchronen Zugriff zu. Zumindest die deutsche Krankenversichertenkarte scheint das nicht zu unterstützen.
 
Zurück