Chipkartenleser mit CT-API unter Linux

OP Persönliche Seite #1586694
Lesenswert?
• ▲
▼
Hallo,
ich habe mal wieder ein Problem, klar sonst würde ich hier nicht posten 
:)
Mein Problem ist folgendes: Ich habe mir den 5€ Chipkartenterminal von 
Pollin zugelegt. Diesen möchte ich jetzt unter Linux mithilfe der CT-API 
ansteuern. Eine entsprechende CT-API linux library gibt es von Kobil.
Im Anhang befindet sich das Header file der Library. Im Internet gibt es 
mehrere Dokumente die die drei Funktionen der CT-API beschreiben(im 
Anhang ctapi11.pdf). Diese drei Funktionen sind auch in der Linux 
Library vorhanden.
Ich habe mir mal ein kleines Testprogramm in C geschrieben das den Leser 
initialisiert, ein Kommando an die Chipkarte schickt und dann den Leser 
wieder beendet. Komischerweise klappt das Initalisieren und das Beenden 
des Lesers einwandfrei (Die LED am Leser geht an und aus) nur beim 
senden des Kommandos tut sich nichts, kein Response rein garnichts.

Das hier ist mein Testprogramm:
1
...
2
#include <ct_api.h> 
3

4
int main() {
5

6
unsigned char response[300];
7
char res;
8
unsigned short int ctn,lenr;
9
unsigned char sad, dad;
10
unsigned char command[300];
11
unsigned int lenc;
12
unsigned short int lengthresponse = 500;
13
unsigned short int lengthdata = 500;
14
lenc = 5;
15

16
command[0]=0x20;
17
command[1]=0x12;
18
command[2]=0x01;
19
command[3]=0x00;
20
command[4]=0x00;
21

22

23
CT_init(1,1);
24

25
ctn = 1;
26
lenr = 300;
27
sad = 0x00;
28
dad = 0x02;
29

30
res=CT_data(1, &dad, &sad, lengthdata, "Data", &lengthresponse, response);
31

32
CT_close(1);
33

34
printf("\nRESPONSE:\n%s",response);
35
printf("\nRES:%c",res);
36
}

Zum kompilieren benutze ich folgenden Befehl:
$ gcc -Iinclude -Llib -o smarti smarti.c -lct -lm
Die Lib heißt libct.so

Laut der Header datei müsste die Funktion CT_data einen Wert 
zurückgeben,
OK oder ein Error. Doch leider ist der Rückgabewert res nur ein paar 
kryptische zeichen, die sich in jedem Durchlauf ändern. Auch response
ist nur nicht verwertbarer Müll.

Ich hoffe ihr könnt mir helfen.

Grüße
Alex
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.