OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

OSX Leopard Hibiscus jnilib chipkartenleser

 
Termite
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 9
Dabei seit: 04 / 2008
Betreff:

OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 24.04.2008 - 21:54 Uhr  ·  #1
Moin

bin seit kurzen mac Besitzer und wollte hibiscus weiter verwenden. Läuft eigentlich auch alles bis auf den chipkartenleser. Bin dann etwas auf die suche gegangen und habe folgende Exeption gefangen.

Code
org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs DDV instanziieren
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:690)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:713)
  at de.willuhn.jameica.hbci.passports.ddv.server.PassportHandleImpl.open(PassportHandleImpl.java:130)
  at de.willuhn.jameica.hbci.gui.action.PassportTest$1.run(PassportTest.java:72)
  at de.willuhn.jameica.gui.GUI$4.run(GUI.java:777)
  at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
  at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
  at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3181)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2944)
  at de.willuhn.jameica.gui.GUI.loop(GUI.java:657)
  at de.willuhn.jameica.gui.GUI.init(GUI.java:212)
  at de.willuhn.jameica.system.Application.init(Application.java:144)
  at de.willuhn.jameica.system.Application.newInstance(Application.java:86)
  at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:687)
  ... 13 more
Caused by: java.lang.UnsatisfiedLinkError: /Users/Termite/Documents/workspace/hibiscus/lib/libhbci4java-card-mac.jnilib: 
  at java.lang.ClassLoader$NativeLibrary.load(Native Method)
  at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1822)
  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1702)
  at java.lang.Runtime.load0(Runtime.java:769)
  at java.lang.System.load(System.java:968)
  at org.kapott.hbci.passport.HBCIPassportDDV.<init>(HBCIPassportDDV.java:144)
  ... 18 more


System: OSx 10.5.2, I386, Cyberjack, Jameica und Hibiscus nightly build

Ich weiß, das OSx und chipcartenleser nicht unterstützt werden. ggf, kann man ja dagegen auch was tun.

meine idea war eigentlich den PCSC-CTAPI-Wrapper für den mac zu portieren, da der pcscd ja schon leuft und zumindest meinen leser erkennt und damit arbeiten kann.

ps. eine kleine ergänzung zu Jameica/Entwickler/integration in eclipse: der hinweis zum austausch der SWT lib wäre nicht schlecht. hab mich gestern abend gewundert wiso er eine lib öffnen wolte die gar nicht für osx existiert. (auser ich war mal wieder blind)
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10819
Dabei seit: 03 / 2005
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 25.04.2008 - 11:41 Uhr  ·  #2
Der Entwickler von "Winston" hatte hier auch schon etwas Arbeit investiert und die JNI-Lib libhbci4java-card-mac.jnilib nochmal neu auf seinem Mac compiliert. Da ich noch nicht dazugekommen bin, das in's CVS einzuchecken, hab ich sie mal schnell auf http://www.willuhn.de/download/hbci4java-mac.zip hochgeladen. Versuch es mal mit der Datei - vielleicht kommst du damit weiter.

Da ich inzwischen auch einen Mac (G4) gekriegt hab, kann ich nun auch endlich meinen Cyberjack auf diesem System testen - kann bei mir aber noch ein paar Tage dauern, bis ich mal dazukomme.

Zitat
meine idea war eigentlich den PCSC-CTAPI-Wrapper für den mac zu portieren, da der pcscd ja schon leuft und zumindest meinen leser erkennt und damit arbeiten kann.


Kannst du gerne versuchen. Ich weiss aber nicht, ob das erfolgversprechend ist.

Zitat
ps. eine kleine ergänzung zu Jameica/Entwickler/integration in eclipse: der hinweis zum austausch der SWT lib wäre nicht schlecht.


Ist gefixt ;)
Termite
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 9
Dabei seit: 04 / 2008
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 25.04.2008 - 20:29 Uhr  ·  #3
Danke für die Datei.

Sieht zumindest schon mal etwas besser aus. An der stelle wird jetzt keine exception mehr geworfen.

Der Test mit dem CTAPI Treiber von Reiner war leider negativ. Resultat war ein hänger den ich nicht genau identifizieren konnte woher der kam.

Der Test mit Wrapper war insoweit erfolgreich, das bei Eingabe des key über Tastatur jede menge Meldungen im log auftauchen. Meine BLZ hab ich auch gesehen somit muss die Kommunikation auch funktionieren. Nur danach gabs irgendwo in der gui nen dedlock (letzte meldung wurde erst durch erzwungenen gui refresch dargestellt). Sandur läuft und läuft ... aber sonst nichts mehr.
1. Message box: pin abfrage
2. Message Box: Internet verbindung aufbauen
3. Message Box: Internet verbindung trennen.
Der Text Sicherheitsmedium erfolgreich getestet erscheint erst nach erzwingen des gui refreschs.

Key eingabe über pinpad hingegen hat nicht funktioniert.

gruss Michael
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10819
Dabei seit: 03 / 2005
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 27.04.2008 - 23:58 Uhr  ·  #4
Hast du schonmal direkt mit dem Passport-Editor von HBCI4Java (http://hbci4java.kapott.org/) getestet? Vielleicht wird der Fehler ja nur von Hibiscus ausgeloest?

Ich werd das kommende Woche auch mal probieren. Mal schauen, ob ich da weiterkomme.
Termite
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 9
Dabei seit: 04 / 2008
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 28.04.2008 - 23:54 Uhr  ·  #5
Nabend

Hab das tool mal versucht zum laufen zu bringen. (scheint in der zwischenzeit eine kleine änderung im hbci4java v2.5.7 gegenüber v2.5.6 gegeben zu haben. HBCIInstitude und HBCIUser haben jetzt im constructor einen zusätzlichen parameter. War man so gemein den jeweils auf false zu setzen)

Ergebnisse:

Alte jnilib wurde nicht geladen.
Neu funktionierte ohne probleme.

versuch zugriff auf den Kartenleser zu bekommen:
Orginaltreiber von ReinerSCT bei mehren versuchen 1 mal die Daten der Karte ausgelesen bekommen ( war glaubich der 1. Versuch ). Danach immer mit fehler abgebrochen. pcscd hat wohl dazwischen gefunkt obwohl mit kill beendet wurde. totgeglaubte leben länger. zumnidest auf einem mac

Code
<DBG> 23:44:13.0253 passport.AbstractHBCIPassport(684): erzeuge neues DDV-Passport
<DBG> 23:44:13.0265 passport.HBCIPassportDDV(143): lade native RSA-Bibliothek /Users/Termite/Documents/workspace/hibiscus/lib/libhbci4java-card-mac.jnilib
<DBG> 23:44:13.0266 passport.HBCIPassportDDV(147): initialisiere Chipkarten-Terminal mit Portnummer 1 und Terminal-Nummer 0
<DB2> 23:44:13.0295 passport.HBCIPassportDDV(-2): loading lib ok
<DB2> 23:44:41.0429 passport.HBCIPassportDDV(-2): CT_init: -10 (transmission error)
<DB2> 23:44:41.0432 passport.HBCIPassportDDV(-2): ejectCard apdu: 20 15 01 04 01 01
<DB2> 23:44:41.0433 passport.HBCIPassportDDV(-2): ejectCard: -128 (HTSI error)
<DB2> 23:44:41.0433 passport.HBCIPassportDDV(-2): ejectCard: -128 (HTSI error)
<DB2> 23:44:41.0433 passport.HBCIPassportDDV(-2): ejectCard: -128 (HTSI error)
<DB2> 23:44:41.0434 passport.HBCIPassportDDV(-2): aborting
<DB2> 23:44:41.0434 passport.HBCIPassportDDV(-2): resetCT apdu: 20 11 00 00
<DB2> 23:44:41.0434 passport.HBCIPassportDDV(-2): resetCT: -128 (HTSI error)
<DB2> 23:44:41.0435 passport.HBCIPassportDDV(-2): resetCT: -128 (HTSI error)
<DB2> 23:44:41.0435 passport.HBCIPassportDDV(-2): resetCT: -128 (HTSI error)
<DB2> 23:44:41.0436 passport.HBCIPassportDDV(-2): aborting
<DB2> 23:44:41.0436 passport.HBCIPassportDDV(-2): CT_close: -128 (HTSI error)
<ERR> 23:44:41.0451 manager.HBCIUtils(888): HBCI4Java Exception BEGIN ---kann kein Passport des Typs DDV instanziieren
  -> Chipkarten-Terminal-Fehler
  -> Chipkarten-Terminal-Fehler: can not load ctapi lib /Library/Frameworks/CyberJack_CTAPI.framework/CyberJack_CTAPI - ret=0 response=00 00 (0000)
HBCI4Java Exception END ---
HBCI4Java stacktrace BEGIN ---org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs DDV instanziieren
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:690)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:707)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:719)
  at org.kapott.hbci.pe.EditorDDV.initPassport_e(EditorDDV.java:207)
  at org.kapott.hbci.pe.AbstractEditor$1.run(AbstractEditor.java:85)
Caused by: java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:687)
  ... 4 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Chipkarten-Terminal-Fehler
  at org.kapott.hbci.passport.HBCIPassportDDV.<init>(HBCIPassportDDV.java:164)
  ... 9 more
Caused by: org.kapott.hbci.exceptions.CTException: Chipkarten-Terminal-Fehler: can not load ctapi lib /Library/Frameworks/CyberJack_CTAPI.framework/CyberJack_CTAPI - ret=0 response=00 00 (0000)
  at org.kapott.hbci.passport.HBCIPassportDDV.initCT(Native Method)
  at org.kapott.hbci.passport.HBCIPassportDDV.<init>(HBCIPassportDDV.java:156)
  ... 9 more

HBCI4Java stacktrace END ---


Versuch mit dem CTAPI to PCSC Wrapper war nicht erfolgreich
Code
 <DBG> 23:28:44.0588 passport.AbstractHBCIPassport(684): erzeuge neues DDV-Passport
<DBG> 23:28:44.0601 passport.HBCIPassportDDV(143): lade native RSA-Bibliothek /Users/Termite/Documents/workspace/hibiscus/lib/libhbci4java-card-mac.jnilib
<DBG> 23:28:44.0604 passport.HBCIPassportDDV(147): initialisiere Chipkarten-Terminal mit Portnummer 1 und Terminal-Nummer 0
<DB2> 23:28:44.0632 passport.HBCIPassportDDV(-2): loading lib ok
<DB2> 23:28:44.0633 passport.HBCIPassportDDV(-2): CT_init: -8 (CT error)
<DB2> 23:28:44.0635 passport.HBCIPassportDDV(-2): ejectCard apdu: 20 15 01 04 01 01
<DB2> 23:28:44.0636 passport.HBCIPassportDDV(-2): ejectCard: -1 (invalid parameter or value)
<DB2> 23:28:44.0636 passport.HBCIPassportDDV(-2): ejectCard: -1 (invalid parameter or value)
<DB2> 23:28:44.0636 passport.HBCIPassportDDV(-2): ejectCard: -1 (invalid parameter or value)
<DB2> 23:28:44.0636 passport.HBCIPassportDDV(-2): aborting
<DB2> 23:28:44.0637 passport.HBCIPassportDDV(-2): resetCT apdu: 20 11 00 00
<DB2> 23:28:44.0637 passport.HBCIPassportDDV(-2): resetCT: -1 (invalid parameter or value)
<DB2> 23:28:44.0637 passport.HBCIPassportDDV(-2): resetCT: -1 (invalid parameter or value)
<DB2> 23:28:44.0637 passport.HBCIPassportDDV(-2): resetCT: -1 (invalid parameter or value)
<DB2> 23:28:44.0638 passport.HBCIPassportDDV(-2): aborting
<DB2> 23:28:44.0638 passport.HBCIPassportDDV(-2): CT_close: -1 (invalid parameter or value)
<ERR> 23:28:44.0708 manager.HBCIUtils(888): HBCI4Java Exception BEGIN ---kann kein Passport des Typs DDV instanziieren
  -> Chipkarten-Terminal-Fehler
  -> Chipkarten-Terminal-Fehler: can not load ctapi lib /Users/Termite/Downloads/pcsc-ctapi-wrapper-0.2/libpcsc-ctapi-wrapper.dylib - ret=0 response=00 00 (0000)
HBCI4Java Exception END ---
HBCI4Java stacktrace BEGIN ---org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs DDV instanziieren
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:690)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:707)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:719)
  at org.kapott.hbci.pe.EditorDDV.initPassport_e(EditorDDV.java:207)
  at org.kapott.hbci.pe.AbstractEditor$1.run(AbstractEditor.java:85)
Caused by: java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:687)
  ... 4 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Chipkarten-Terminal-Fehler
  at org.kapott.hbci.passport.HBCIPassportDDV.<init>(HBCIPassportDDV.java:164)
  ... 9 more
Caused by: org.kapott.hbci.exceptions.CTException: Chipkarten-Terminal-Fehler: can not load ctapi lib /Users/Termite/Downloads/pcsc-ctapi-wrapper-0.2/libpcsc-ctapi-wrapper.dylib - ret=0 response=00 00 (0000)
  at org.kapott.hbci.passport.HBCIPassportDDV.initCT(Native Method)
  at org.kapott.hbci.passport.HBCIPassportDDV.<init>(HBCIPassportDDV.java:156)
  ... 9 more

HBCI4Java stacktrace END ---


soweit mal für heute. werd morgen abend noch mal einen test machen.

Gruß Michael
O
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 2
Dabei seit: 04 / 2008
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 29.04.2008 - 11:46 Uhr  ·  #6
Hallo,

unter MAC ist der PCSCD inzwischen etwas nervig wenn man ihn nicht braucht. Und wenn er läuft, dann gehts mit dem CTAPI Treiber nicht.
Unter 10.3 genügt es, in dem Autostart-Ordner die entsprechenden Einträge rauszunehmen bzw den pcscd einmal nach dem Start abzubrechen.
Unter 10.4 startet der pcscd jedesmal wenn der Kartenleser eingesteckt wird bzw teilweise sogar wenn eine Karte eingelegt wird. Das kann man durch:
In /private/etc/mach_init.d/securityd.plist den "Command" Wert von "/usr/sbin/securityd" nach "/usr/sbin/securityd -s on" ändern. Aber aufpassen - wenn das nicht richtig gemacht wird, dann startet der Mac nicht mehr.
Danach startet der PCSCD nurnoch einmal nach dem einschalten.

So bekomme ich mein REINER SCT ans laufen. Die PIN wird abgefragt ... Nur Daten bekomme ich auch nicht. Die Kommunikation mit dem Bankserver scheint anzulaufen, aber mit HBCI und was da kommen soll kenn ich mich nicht aus.
O
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 2
Dabei seit: 04 / 2008
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 29.04.2008 - 12:35 Uhr  ·  #7
Achja - mit dem Hänger bei der CTAPI: Als Port darf man nicht 0 (USB) übergeben sondern Werte >= 1, sprich bei Hibiscus USB2.
Das Auslesen der Karte mit den Testprogrammen von HBCI4JAVA funktioniert bei mir.
Termite
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 9
Dabei seit: 04 / 2008
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 29.04.2008 - 18:46 Uhr  ·  #8
Nabend

noch mal kurz einen Test gemacht. Wenn der pcscd nicht läuft, dann klappt das auch mit dem ctapi treiber von Reinersct. Das Problem ist nur, das der pcscd nicht nur beim anstecken des Lesers erzeugt wird, sondern auch zu anderen zeiten. ( mac os 10.5.2 Leopard ).

der hänger in der gui von hibiscus oder Jameica nach erfolgreichem Test bleibt leider weiterhin.

anbei die letzen Lebensmeldungen im log

Code
Tue Apr 29 18:30:47 CEST 2008][DEBUG][de.willuhn.jameica.hbci.HBCICallbackSWT.log] writeRecord: success
[Tue Apr 29 18:30:47 CEST 2008][DEBUG][de.willuhn.jameica.hbci.HBCICallbackSWT.log] read mac (sm) apdu: 08 B2 01 D...
[Tue Apr 29 18:30:47 CEST 2008][DEBUG][de.willuhn.jameica.hbci.HBCICallbackSWT.log] read mac (sm) response: 81 0C 5F F6 2...
[Tue Apr 29 18:30:47 CEST 2008][DEBUG][de.willuhn.jameica.hbci.HBCICallbackSWT.log] read mac (sm): success
[Tue Apr 29 18:30:47 CEST 2008][DEBUG][de.willuhn.jameica.hbci.HBCICallbackSWT.log] teste, ob empfangene Nachricht verschlüsselt ist
[Tue Apr 29 18:30:47 CEST 2008][INFO][de.willuhn.jameica.hbci.HBCICallbackSWT.status] Dialog beendet
[Tue Apr 29 18:30:47 CEST 2008][DEBUG][de.willuhn.jameica.hbci.HBCICallbackSWT.log] beende Verbindung zum HBCI-Server
[Tue Apr 29 18:30:54 CEST 2008][DEBUG][de.willuhn.jameica.gui.dialogs.AbstractDialog.close] closing dialog


Das killen des pcscd auf dem mac kann wohl nicht die "Lösung" des Problems sein. Und an der Konfiguration rumzubasteln erst recht nicht. vor allem wenn man dabei riskiert das System zu killen.

ich werd mich noch ein bisschen mit dem PCSC - CTAPI WRAPPER und dem HBCI4JAVA PE beschäftigen. Wäre doch gelacht wenn der nicht auch damit läuft, wo er schon mit hibiscus gezuckt hat.

[EDIT 21:49]
So der Wrapper läuft auch mit dem HBCI4JAVA PE tool. lag an einem fehler beim linken des Wrappers.

PinPad sieht eher schlecht aus. beim versuch mit Hibiscus gab es eine recht hässliche Fehlermeldung mit StackTrace.
Code
org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs DDV instanziieren
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:690)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:713)
  at de.willuhn.jameica.hbci.passports.ddv.server.PassportHandleImpl.open(PassportHandleImpl.java:130)
  at de.willuhn.jameica.hbci.gui.action.PassportTest$1.run(PassportTest.java:72)
  at de.willuhn.jameica.gui.GUI$4.run(GUI.java:777)
  at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
  at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
  at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3181)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2944)
  at de.willuhn.jameica.gui.GUI.loop(GUI.java:657)
  at de.willuhn.jameica.gui.GUI.init(GUI.java:212)
  at de.willuhn.jameica.system.Application.init(Application.java:144)
  at de.willuhn.jameica.system.Application.newInstance(Application.java:86)
  at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:687)
  ... 13 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Chipkarten-Terminal-Fehler
  at org.kapott.hbci.passport.HBCIPassportDDV.<init>(HBCIPassportDDV.java:164)
  ... 18 more
Caused by: org.kapott.hbci.exceptions.CTException: Chipkarten-Terminal-Fehler: error while waiting for chipcard - ret=0 response=62 00 (timeout)
  at org.kapott.hbci.passport.HBCIPassportDDV.initCT(Native Method)
  at org.kapott.hbci.passport.HBCIPassportDDV.<init>(HBCIPassportDDV.java:156)
  ... 18 more


für mich gibts es jetzt eigentlich nur noch 2 Fragen:

1. woher kommt der hänger von hibscus?
2. ist es möglich einen CTAPI PCPC wrapper auch um pinpad unterstützung zu erweitern?
gruss
Termite
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 9
Dabei seit: 04 / 2008
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 02.05.2008 - 14:35 Uhr  ·  #9
Moin moin

war mal ein bischen auf fehlersuche. ich glaub zumindest die stelle für den Hänger gefunden zu haben. nur wieso er das tut ist mir noch etwas schleierhaft. Im logger wird zwar über targets synchronisierd, nur sehe ich nichts was die synchronisation blockieren könnte.


Code

public class PassportTest implements Action{
...
    BackgroundTask task = new BackgroundTask() {
      public void run(final ProgressMonitor monitor) throws ApplicationException
      {
 ...

        finally
        {
          if (target != null)
            Logger.removeTarget(target); << L118 hier scheint er nicht mehr zurück zu kommen
        }



[Edit]
so ich weiss jetzt auch wieso der Logger beim removeTarget blockiert. Der Logger Thread selber wird blockiert. Beim PassportTest$2.Write(message) wird über BackgroundTaskMonitor.AdPercentComplete/setPercentComplete irgendwann mal GUI.getDisplay().syncExec(new Runnable() ... aufgerufen. und der syncExec läuft bei mir in der SWT auf ein Object.wait(0);

Code

Daemon Thread [Thread-0] (Suspended (breakpoint at line 91 in PassportTest$1))  
  PassportTest$1.run(ProgressMonitor) line: 91  
  GUI$4.run() line: 777  
  RunnableLock.run() line: 35  
  Synchronizer.runAsyncMessages(boolean) line: 123  
  Display.runAsyncMessages(boolean) line: 3181  
  Display.readAndDispatch() line: 2944  
  GUI.loop() line: 657  
  GUI.init() line: 212  
  Application.init() line: 144  
  Application.newInstance(StartupParams) line: 86  
  Main.main(String[]) line: 78  
Daemon Thread [Logger-Thread] (Suspended)  
  Object.wait(long) line: not available [native method] [local variables unavailable]  
  RunnableLock(Object).wait() line: 474 [local variables unavailable]  
  Synchronizer.syncExec(Runnable) line: 169  
  Display.syncExec(Runnable) line: 3825  
  BackgroundTaskMonitor(ProgressBar).setPercentComplete(int) line: 58  
  BackgroundTaskMonitor.setPercentComplete(int) line: 134  
  BackgroundTaskMonitor(ProgressBar).addPercentComplete(int) line: 204  
  BackgroundTaskMonitor.addPercentComplete(int) line: 143  
  PassportTest$2.write(Message) line: 58  
  Logger$LoggerThread.run() line: 403  
Daemon Thread [Timer-0] (Running)  



ob das jetzt an meinen zusammengezimmerten stand liegt?
kann eigentlich irgend jemand diesen Fehler unter max OSx 10.5.2 bestätigen?

gruss
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10819
Dabei seit: 03 / 2005
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 05.05.2008 - 11:34 Uhr  ·  #10
Vielen Dank fuer die Analyse. Klingt plausibel. Ich stell das mal etwas um. Wird innerhalb der naechsten Stunden im CVS und ab morgen im Nightly-Build sein.
Termite
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 9
Dabei seit: 04 / 2008
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 05.05.2008 - 20:52 Uhr  ·  #11
Nichts zu danken. Man tut was man kann. ;-)

Die Änderung funktioniert. der Hänger ist weg.

Chipkartenleser unter mac OSx 10.5.2 sind etwas eigenartig im verhalten. Hin und wieder tut der Wrapper, hin und wieder nicht.

Kannst du eine aussage darüber machen ob pinpad über einen CT-API PCSC wrapper prinzipiell funktionieren kann oder ob das Technisch gar nicht realiesierbar ist? Softpin funktioniert soweit ja (unter linux gibts ja auch schon dokumentierte erfolge) mal bis auf die etwas komischen Aussetzer.

gruss
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10819
Dabei seit: 03 / 2005
Betreff:

Re: OSX + Hibiscus Fehler mit jnilib und Chipkartenleser

 · 
Gepostet: 05.05.2008 - 23:31 Uhr  ·  #12
Zitat
Die Änderung funktioniert. der Hänger ist weg.


Prima. Ich habs naemlich nicht testen koennen und daher "ins Blaue geschossen" ;)

Zitat
Kannst du eine aussage darüber machen ob pinpad über einen CT-API PCSC wrapper prinzipiell funktionieren kann oder ob das Technisch gar nicht realiesierbar ist? Softpin funktioniert soweit ja (unter linux gibts ja auch schon dokumentierte erfolge) mal bis auf die etwas komischen Aussetzer.


Prinzipiell sollte das funktionieren. Das primaere Problem sind hier meiner Meinung nach fehlende Test-Moeglichkeiten auf MacOS und ggf. notwendige Plattform-spezifische Bugfixes. Da das ja alles in den Tiefen von HBCI4Java (konkret im JNI-Wrapper fuer die CTAPI) passiert, kann ich da nicht viel machen (ich mach ja nur Hibiscus - also die Anwendung, die oben aufsetzt). Aber ich habe Stefan (dem Autor von HBCI4Java) Bescheid gegeben, dass er mal den G4-Mac kriegen kann, den ich hier neuerdings als Testgeraet habe. Ich denke, damit stehen die Chancen gar nicht so schlecht, dass kuenftig zumindest ein Kartenleser (am sinnvollsten ist hier wohl der Reiner SCT Cyberjack, da ordentliche Treiber existieren) unter MacOS unterstuetzt werden koennte - sicher auch incl. Pin-Pad.
Gewählte Zitate für Mehrfachzitierung:   0