Seite 1 von 1

A-TRUST Com-Objektl

Verfasst: Di, 07. Jun 2016 9:26
von flanelli
Guten Tag werte "Gemeinde", insbesondere die Österreich-Fraktion!

Hat jemand schon Erfahrung mit dem seit kurzen erhältlichen COM von A-Trust gemacht?
Die Deadline für die Sicherheitsrichtlinien rückt immer näher und langsam "brennt der Hut" :-)

Zitat aus http://www.a-trust.at/Support/Registrie ... licht.aspx
a.sign RK COM bzw. EXE
A-Trust stellt ein COM-Objekt (Component Object Model) / EXE zur Verfügung, welches die Funktionen zum Zugriff auf die RK CHIP vereinfacht. Weiters werden Funktionen für den AES-Schlüssel, Base64 Kodierung und Sha256 Hash bereitgestellt, welche für die Implementierung der Registrierkassensicherheitsverordnung benötigt werden.

Eigentlich müßte dieses COM ja genauso in Xbase zun handhaben sein wie Office/Word/Excel oder sehe ich das total falsch?
Leider ist vom Hersteller A-Trust keine Demostellung zu bekommen und Xabse ist dort wohl eher ein unbekannter Außerirdischer.
Nachdem das Teil 2.500 Euro ( 1.300,-- das Modul plos 1.200,-- Zwangssupport ) kostet wäre ein Blindflug schon heftig.

Nachdem A-Trust wahrscheinlich vorwiegend oder gar nur in Österreich bekannt ist hoffe ich auch sehr auf eine Reaktion einer der wenigen
hier vertretenen Österreicher - z.B.: denke ich dass Hr. Rudolf Reinthaler da etwas weiß nachdem er lt. seinen Beiträgen ja ein richtig
"alter Fuchs" sein muß *smile*

Jedenfalls schon mal Danke im Voraus, Marcel Greiner

Re: A-TRUST Com-Objektl

Verfasst: Di, 27. Sep 2016 13:34
von CRT
RKSV - Registrierkassensicherheitsverordnung (sowas von sinnlos)
Ich bin auch gerade dabei zuerst Infos einzuholen und das dann umzusetzen.
Es gibt einen günstigeren Anbieter www.itgconsulting.at (der möglicherweise aber einen tuereren Signaturanbieter unterstützt). Dessen DLL kostet EUR 200,- + 20% Wartung/Jahr.

Grüße
CRT

Re: A-TRUST Com-Objektl

Verfasst: Di, 27. Sep 2016 16:21
von flanelli
Hallo CRT,
schön zu lesen dass es offensichtlich doch noch andere Österreicher gibt die - zumindest auf dieser Plattform - sich mit einer
Xbase++ Kassenlösung in Vernindung mit der hochintelligenten RKSV herumärgern :-)
Mein POS erfüllt zwar schon seit Jahren alle Anforderungen der ja ohnehin seit 2012 geltenden Registrierkassenrichtlinien
und auch den diversen Spitzfindigkeiten ab 2016. Die Plage stellt letzendlich ja "nur" die doch recht komplexe Verkettung
der Belege samt der Signatur dar. Base64 und QR sind ja kein echtes Problem aber die AES-Verschlüsselung nervt gewaltig.
Offen ist auch noch die Adaptierung des bisherigen frei wählbaren Formates des DEP auf das ab 2017 geforderte JSON-Format
und natürlich auch da die Integrierung der Sigantur.

Als Alternative zum ATRUST-COM habe ich auch schon das COM-Modul von ITG entdeckt und bin gerade dabei das ganze
Prozedere zu testen. Laut schriftlicher Info von ITG werden sowohl A-TRUST als auch GLOBAL-TRUST unterstützt
( muss ja logischerweise auch so sein ) aber vor allem gibt es eben eine Demostellung der Bibliothek.
Abgesehen davon ist ITG auch günstiger.

Ich hadere derzeit noch mit der Entscheidung ob ich den Chip von A-TRUST oder von GLOBAL-TRUST einsetzen werde
denn irgendwie ist da bzgl. Lauzeiten etc. noch einiges unklar.

GLOBAL-TRUST bietet Karten mit 3, 5 und 10 Jahren Laufzeit an
A-TRUST spricht zwar von "Kosten für die geamte Laufzeit" aber gibt nicht bekannt welche Laufzeit besteht.

Generell scheint mir auch noch unklar ob dür die RK-Signatur die Karte nicht auch nach einer abgelaufenen Laufzeit
noch gültig ist ( wird ja behauptet ) bzw. ob die Karte nach Ablauf gar nicht mehr funktioniert.

Letztendlich eine typisch österreichische "Bananenrepublikvorgangsweise" nachdem nach nunmehr bereits über einem Jahr
immer noch nicht elle Unklarheiten seitens des Bundesmisteriums beseitigt wurden.

Nun, ich bin mal gespannt ob es mit Xbase++ und dem COM-Modul 100% reibunsglos funktionieren wird denn aufgrund
der wahnwitzigen gesetzlichen Bestimmungen kann man sich wohl nicht die geringste Fehlertoleranz erlauben.

Ich wünsche dir jedenfalls noch viel "Spaß" aber vor allem Erfolg und sollten wir uns gegenseitig dabei noch unterstützen
können hätte ich nichts dagegen einzuwenden :-)

Grüße, Marcel

Re: A-TRUST Com-Objektl

Verfasst: Di, 27. Sep 2016 16:33
von CRT
Hallo Marcel,

ich denke JSON ist nicht so kompliziert und eine AES-Library von Marshallsoft auch relativ günstig erhältlich. Sorgen macht mir der Zugriff auf die Signatureinheit. Wenn wir uns die Arbeit irgendwie teilen könnten wäre das sicher sinnvoll.

lg
Črtomir

Re: A-TRUST Com-Objektl

Verfasst: Di, 27. Sep 2016 18:33
von Rudolf
Hallo Marcel,
Danke fürs Kompliment, aber mehr alt als Fuchs ;-)
Habe keine Kassenprojekte mehr, und bin froh darüber nachdem die neuen Gesetze totales Chaos verursachen. Wenn Du eine Doku für die ActiveX Schnittstelle bekommst könnte man mal reinschauen. Normal ist es kein Problem sowas einzubinden. Ich verwende für viele Dinge Chilkat, z.B. Kommunikation, Verschlüsselung, XML, JSON etc. Kostet nicht viel und funktioniert sehr zuverlässig. Gibt auch Beispiele für Visual Foxpro.
Grüße
Rudolf

Re: A-TRUST Com-Objektl

Verfasst: Mi, 12. Okt 2016 14:23
von flanelli
Hallo Rudolf,
herzlichen Dank für Deine Aufmerksamkeit.
Falls ich mit den COM von A-Trust oder ITG keinen Erfolg habe werde ich wohl
Deinen Rat nachgehen und mich mit Chilkat beschäftigen. So wie ich das verstanden
haben bieten die ein Bundle mit den "gesammnelten Werken" an. Bei einem kurzen
Überblick habe ich zwar noch nicht erkannt welchen Dowbload bzw. welche Order ich
da treffen müßte aber falls es so kommt werde ich mir erlauben Dich kurz um Rat zu fragen.
Danke einstweilen an den "alten" Fuchs :-)

Gruß, Marcel

Re: A-TRUST Com-Objektl

Verfasst: Mi, 12. Okt 2016 15:09
von flanelli
Hallo Črtomir,

dein Vorschlag uns die Arbeit irgendwie zu teilen wäre zweifellos sehr sinnvoll.
Allerdings stellt sich die Frage ob es überhaupt eine Lösung bzgl. der Signatur mit Xbase++ geben kann
denn langsam fange ich an daran zu zweifeln.

btw. den DEP-Export im JSON-Format hab ich einstweilen selbst erledigt - du hast recht , es ist lediglich ein geringer
Aufwand die paar ( sich thematisch ja immer wiederholenden Daten ) entsprechend den Vorgaben zu speichern.

ECHTE Sorgen macht mir aber schön langsam die Signatur.
Man sollte sich nie zu früh freuen ...
Ich habe mir die Demo von ITG bersorgt und da gleich einmal 2 richtig saftige "Watschen" bekommen.
Die erste )
Die Demo-Exe erkennt zwar brav die Karte ( A-Trust ) und identiifziert auch die Seriennummer
aber beim "get certificate" endet der Spaß auch schon in einem nicht weiter deokumentierten "FAIL".
Die zweite )
oITG:= CreateObject("RKSVComComplete.RKSVCOM")
oITG:= oPDF_1:dynamicCast(ActiveXObject())
bring wie folgt
Fehler: BASE/1025
Beschreibung: Parameter hat falschen typ
Operation : dynamicCast
osCode : 0
severity : 2
subCode : 1025
subSystem : BASE

Abgesehn davon ... mit der ALASKA-TLB2CH.EXE erhält man als Header-Datei ( .ch ) über die CLSID nicht mehr als
#ifndef _9A79D6C4A0844D279D0DAAE7703571B0_HAEDER_DAEMON
#define _9A79D6C4A0844D279D0DAAE7703571B0_HAEDER_DAEMON
#endif //_9A79D6C4A0844D279D0DAAE7703571B0_HAEDER_DAEMON

Solltest Du zwischenzeitlich auch schon eine neue erkenntnis haben würde ich mich über eine
Nachricht freuen.

Gruß, Marcel

Re: A-TRUST Com-Objektl

Verfasst: Mi, 12. Okt 2016 16:43
von CRT
Hallo Marcel,

ich teste gerade Xb++ 2.0, speziell wegen der char2Hash() und der AES Verschlüsselungsfunktion. Ich will versuchen die Dinge, soweit möglich, NATIVE zu implementieren. Für den Zugrif auf den Leser werde ich die Windows WINSCARD.DLL testen.

Als Signatureinheit habe ich mir die Cherry ST-2000UCZ-R/03 besorgt.

lg
Črtomir

Re: A-TRUST Com-Objektl

Verfasst: Do, 13. Okt 2016 21:23
von AUGE_OHR
flanelli hat geschrieben:

Code: Alles auswählen

   oITG:= CreateObject("RKSVComComplete.RKSVCOM")
   oITG:= oPDF_1:dynamicCast(ActiveXObject())
bring wie folgt
Fehler: BASE/1025
Beschreibung: Parameter hat falschen typ
Operation : dynamicCast
osCode : 0
severity : 2
subCode : 1025
subSystem : BASE
:-k ... wie kommst du auf den Code ?
wenn das Teil Events sendet solltest du es mit XbpActiveXControl() versuchen statt "falsch" mit dynamicCast().

p.s. nach einem "Create" sollte man "prüfen" ob es NIL ist !
flanelli hat geschrieben:Abgesehn davon ... mit der ALASKA-TLB2CH.EXE erhält man als Header-Datei ( .ch ) über die CLSID nicht mehr als
#ifndef _9A79D6C4A0844D279D0DAAE7703571B0_HAEDER_DAEMON
#define _9A79D6C4A0844D279D0DAAE7703571B0_HAEDER_DAEMON
#endif //_9A79D6C4A0844D279D0DAAE7703571B0_HAEDER_DAEMON
hattest du die "{...}" mit angegeben ? sonst versuche es mit dem String "RKSVComComplete.RKSVCOM"

p.s. geht natürlich nur wenn das Control "registriert" wurde ...

Re: A-TRUST Com-Objektl

Verfasst: Fr, 14. Okt 2016 14:15
von flanelli
@Jimmy
vorab danke für deine Reaktion, es gibt immer positive Energie wenn man eine Reaktion
auf sein Problem erfährt und oft ist schon ein kleiner Anstoß die Lösung.
zum Fehler: BASE/1025
habe die Ursache heute morgen entdeckt ( Schande über mich :banghead: )
War mein eigener Bockmist da ich nicht den Schlüsselname sondern
"RKSVComComplete" sondern den Wert "RKSVComComplete.RKSVCOM"
angegeben gabe.
Mit oITG:= CreateObject("RKSVComComplete") wird das Objekt nun auch korrekt erzeugt :-)
zu deinem p.s. nach einem "Create" sollte man "prüfen" ob es NIL ist !
Natürlich sollte man das und natürlich mache ich das auch im Zuge einer tatsächlichen
Verwendung solcher Features aber nicht wenn es sich um einen schnellen Check wie
in diesem Falle handelt - da möchte ich den "Crash" erleben wenn es einen gibt.
Ich hätte wohl bei der Abbildung dazuschreiben sollen dass ich sauer war weil das
Objekt offensichtlich nicht erstellt werden konnte.
zum > wie kommst du auf den Code ?
Auch wenn ich diese Funktionalität nicht generell benötige sollte binde ich dies
dennoch generell seit etlichehn Jahren immer ein - tut nicht weh und schadet auch nicht :-)
die code-quelle ist, wie kann es auch anders sein ALASKA Xbase Referenzdokumentation
// Beispiel für :dynamicCast() um auf Ereignisse eines COM/ActiveX
// zu reagieren.
//
#PRAGMA LIBRARY("ASCOM10.LIB")

PROCEDURE Main()
LOCAL oObj
// Überführen eines Objektes der Klasse AutomationObject
// zu einem Objekt der Klasse ActiveXObject
oObj := CreateObject( "Word.Application" )
oObj := oObj:dynamicCast( ActiveXObject() )
oObj:visible := .T.
oObj:quit := {|| MsgBox("Word wurde geschlossen!")}
WAIT
RETURN

zu > hattest du die "{...}" mit angegeben ? sonst versuche es mit dem String "RKSVComComplete.RKSVCOM"
p.s. geht natürlich nur wenn das Control "registriert" wurde ...
Natürlich ist das Control registriert und wenn ich das mit dem nun
korrigierten "RKSVComComplete" mache kommt auch nichts anders raus außer der Terminus
#ifndef _RKSVCOMCOMPLETE_HAEDER_DAEMON
#define _RKSVCOMCOMPLETE_HAEDER_DAEMON
#endif //_RKSVCOMCOMPLETE_HAEDER_DAEMON

Solche Ergebnisse erhält man übrigens auch beim PDF-CREATOR und anderen Produkten
aber letztendlich spielt es für die Aufrufe und Abarbeitung der grundlegenden Funktionen
des COM-Modules ja keine Rolle.

LG, Marcel

PS.: Ich arbeite seit Jahren unter Xbase++ mit word.application und excel.application mit
teilweise "wahnwitzigsten" Abläufen ohne das geringste Problem aber mit
"MS-Fremden" Modulen hapert es zuweilen schon mal wobei das auch oft an
deren vielfach recht rudimentären Dokumentationen liegt.
in diesem Fall war es aber mein "Hohlkopf" zumindest was das createobject() betrifft :-)

Re: A-TRUST Com-Objektl

Verfasst: Mo, 17. Okt 2016 5:37
von AUGE_OHR
flanelli hat geschrieben:Mit oITG:= CreateObject("RKSVComComplete") wird das Objekt nun auch korrekt erzeugt :-)
=D> so soll es sein
flanelli hat geschrieben:Auch wenn ich diese Funktionalität nicht generell benötige sollte binde ich dies
dennoch generell seit etlichehn Jahren immer ein - tut nicht weh und schadet auch nicht :-)
die code-quelle ist, wie kann es auch anders sein ALASKA Xbase Referenzdokumentation

Code: Alles auswählen

      // Überführen eines Objektes der Klasse AutomationObject 
      // zu einem Objekt der Klasse ActiveXObject 
      oObj := CreateObject( "Word.Application" ) 
      oObj := oObj:dynamicCast( ActiveXObject() ) // <-
ich bin über die Stelle bei dir gestolpert
flanelli hat geschrieben:

Code: Alles auswählen

   oITG:= CreateObject("RKSVComComplete.RKSVCOM")
   oITG:= oPDF_1:dynamicCast(ActiveXObject())
ich "sehe" doch 2 x " := " , oder ?
ich ging davon aus das CreateObject() ok sei -> oITG
in der zweiten Zeile schreibst du ein oPDF_1 ... das wäre <> oITG
Überführen eines Objektes der Klasse AutomationObject ...
und da sind wir an dem Punkt was "ich" bislang mit (pure) Xbase++ nicht hin bekomme : ich kann NICHT 2 COM Objecte "vereinen"

Code: Alles auswählen

// das geht
   A := CreateObject("AAA.AAA")
   A := A:dynamicCast(ActiveXObject())

   B := CreateObject("BBB.BBB")
   B := B:dynamicCast(ActiveXObject())

// aber hier

   A := CreateObject("AAA.AAA")
   B := CreateObject("BBB.BBB")

   // geht IMHO nicht
   A := B:dynamicCast(ActiveXObject())
Natürlich ist das Control registriert und wenn ich das mit dem nun
korrigierten "RKSVComComplete" mache kommt auch nichts anders raus außer der Terminus
#ifndef _RKSVCOMCOMPLETE_HAEDER_DAEMON
#define _RKSVCOMCOMPLETE_HAEDER_DAEMON
#endif //_RKSVCOMCOMPLETE_HAEDER_DAEMON

Solche Ergebnisse erhält man übrigens auch beim PDF-CREATOR und anderen Produkten ...
meinst du "PDFCreator.clsPDFCreator" <-> "{1469B6F2-494C-430E-95F8-4369C700762F}" ?
hast du da einen "Wrapper" für Xbase++ geschrieben ?


ich "denke" ich weiss nun warum Tlb2Ch.exe nichts ausgibt :
das ist kein "gewöhnliches" ActiveX wie *.OCX sondern wohl eine DotNet COM DLL ...
die Datei pdfforge.DLL hat einen "Codebase" Eintrag in der Registry

Code: Alles auswählen

C:/Program Files/PDFCreator/PlugIns/pdfforge/pdfforge.DLL
auch finde mit meinen üblichen Tool COMLicenceFinder.exe nichts
... das hab ich auch mit meinen eigenen DotNet COM DLL die registriert habe

was geht ist "Oleview.exe" OLE/COM Object Viewer aus dem "M$ Resource Kit".
damit kann man sich auch die Reihenfolge der enthaltenen Methoden ( iDispatch id ) und Parameter/Type in der COM DLL ansehen.

Re: A-TRUST Com-Objektl

Verfasst: Di, 18. Okt 2016 15:26
von flanelli
@Jimmy
Du hast - wie schon in den alten Zeiten bei den Konferenzen im Kölner Maritim - FAST immer recht =D>
oITG:= CreateObject("RKSVComComplete.RKSVCOM")
oITG:= oPDF_1:dynamicCast(ActiveXObject())
ist natürlich Dummsinn und ein freudscher Vertipper beim Beitragschreiben ( kein copy & paste )
lautet logischerweise oITG:= oITG:dynamicCast(ActiveXObject())
ich "denke" ich weiss nun warum Tlb2Ch.exe nichts ausgibt :
das ist kein "gewöhnliches" ActiveX wie *.OCX sondern wohl eine DotNet COM DLL ...
Stimmt - kommt von einer DotNet-DLL, wußte aber nicht dass die Folgeerscheinung eben so ist,
"Oleview.exe" weerde ich mir anschauen - aber wie gesagt - die Funktionen sind ja dokumentiert
daher kann ich auch so ganz gut damit leben.
meinst du "PDFCreator.clsPDFCreator" <-> "{1469B6F2-494C-430E-95F8-4369C700762F}" ?
hast du da einen "Wrapper" für Xbase++ geschrieben ?
Ja - den meinte ich.
"Wrapper" habe ich dafür keinen geschrieben, ich nutze lediglich aus den Options
UseAutosave
UseAutosaveDirectory
AutosaveDirectory
AutosaveFilename
für eine temporäre Umstellung in meinen Applikationen zum Zeitpunkt des Druckes
( z.B. Erstelle im Hintergrund beim Angebotsdruck automatisch ein PDF mit "sprechendem Dateinamen"
und füge das dann auch automatisch als Anhang zu einem Mail hinzu etc. etc. )

Gruß Marcel

PS.: Schön war es aber schon in Köln, nicht nur im Maritim sondern auch bei der Premiere im Hyatt übern Rhein drüben )
Unvergessen bleibt mir die Klaviersession von Greg Lief und die unerschütterliche Ruhe von "Dr." Lothar Bongartz :-)
Greg habe ich später noch einmal getroffen auf der Comdex in Las Vegas und gemeinsam mit Brian Russell
erfahren dürfen wie groß der "hochprozentige Hubraum" amerikanischer SW-Entwickler sein kann :-)
Achja und natürlich unvergessen der "listigste" Teilnehmer aller Konferenzen ( den du ja am besten kennst )

PPS: Sind wir wirklich schon so alt dass wir damals dabei waren ...

Re: A-TRUST Com-Objektl

Verfasst: Di, 18. Okt 2016 15:30
von brandelh
In Köln im Maritim war ich auch ein paar mal ... einmal hab ich sogar Rudi Carel gesehen - man hatte der tiefe Falten

Re: A-TRUST Com-Objektl

Verfasst: Di, 18. Okt 2016 15:48
von flanelli
Lautlach - heute haben wir die Falten :angel8:

Ich war dann das letzte Mal bei der Konferenz mit dem "Galaprogramm - Rheinschifffahrt"
Danach begann ja so richtig das "Leiden und der Entwicklungstod" mit CA aber "CLIPPER hat mich
begleitet bis zum Umstieg auf Xbase++ wie der treueste Hund - ich konnte mich immer darauf verlassen
dass man für ALLES ein Workaround schreiben kann was zur Folge hat dass auch heute noch
mehrere Dutzend Betriebe mit "stockkonservativen Seniorchefs" auf XP-Rechnern ihre
komplette Warenwirtschaft mit ( kein Scherz ) Summer87-Applikationen von mir laufen
haben und sich strikt gegen jegliches Update verwehren :-)

Tja, früher war halt alles besser und wir haben ja nichts gehabt - außer 1 MB-Ram :-)

LG an ein weiteres Clipper-Urgestein,

Marcel

PS.: Xbase++ ist aber trotz allem schon was recht Feines vor allem wenn man den Umstieg auf GUI
ohne Thirdparty-products und Formdesigner erledigt - da weiß man auch meistens warum das Ding
funktioniert ( oder auch nicht *gg+ )

Re: A-TRUST Com-Objektl

Verfasst: Do, 20. Okt 2016 15:45
von BIK
flanelli hat geschrieben: Ich hadere derzeit noch mit der Entscheidung ob ich den Chip von A-TRUST oder von GLOBAL-TRUST einsetzen werde
denn irgendwie ist da bzgl. Lauzeiten etc. noch einiges unklar.
Das BMF hat die Laufzeit auf 5 Jahre gesetzt. Die Karte ist jedoch über diese Laufzeit gültig!!
flanelli hat geschrieben: GLOBAL-TRUST bietet Karten mit 3, 5 und 10 Jahren Laufzeit an
A-TRUST spricht zwar von "Kosten für die geamte Laufzeit" aber gibt nicht bekannt welche Laufzeit besteht.
Global-Trust drückt dir mit dem Kauf der Karte gleich den "Service" aufs Auge, dass bei defekter Karte oder Lesegerät,
diese kostenlos ersetzt werden.

Ich hab im November bei der A-Trust Schulung Karte und Lesegerät für 15 Euro gekauft, die seit Juli im täglichen Einsatz
einwandfrei funktioniert.

Eine generelle Frage wirft sich mir bei CRT und dir jedoch schon auf.
Warum wollt ihr die ganze Sache in Xbase programmieren??
A-Trust stellt jede Menge kostenlose Sourcen in JAVA und verschiedene VB und C# Files zur Verfügung, die ja von Xbase
mit RunShell() etc. problemlos aufgerufen werden können.

Zuerst hatte ich eine Lösung mit VB angedacht, was sich jedoch aus Geschwindigkeitsgründen zerschlagen hat
Nun habe ich mich für die Java Seite entschieden.
Ich rufe das Programm mit ShellExecuteA() auf und es wird ein DEP.Json erzeugt und alle relevanten Ergebnisse in ein .txt File zurück geschrieben.
Ferner kann vor der Signierung die Karte und Leser auf Funktion geprüft werden.
Dann einlesen, speichern, drucken wenn gewünscht per pdfCreator automatisch auf den Webspace schreiben und fertig.

Jede Menge Erfahrungsaustausch findet ihr auch bei XING https://www.xing.com/communities/groups ... ch-1078578.
Hier stehen Dr. Kutschera und Dr. Knasmüller in Rekordzeiten mit Antworten zur Verfügung!

PS:
Habe gerade gesehen, dass A-Trust wieder Workshops anbietet. Das war zuletzt immer im Hardrock in Wien. Danach geselliges Frage und Antwort an die Experten
https://www.a-trust.at/Support/Registri ... licht.aspx

Re: A-TRUST Com-Objektl

Verfasst: Do, 20. Okt 2016 15:53
von CRT
Klingt interessant. Kannst Du da mehr dazu posten?
lg
Črtomir

Re: A-TRUST Com-Objektl

Verfasst: Do, 20. Okt 2016 16:07
von BIK
CRT hat geschrieben:Klingt interessant. Kannst Du da mehr dazu posten?
lg
Črtomir
Habe ich doch schon alles bei deiner PN Anfrage vom 27.9 auführlich gemacht :?:

Re: A-TRUST Com-Objektl

Verfasst: Do, 20. Okt 2016 17:51
von CRT
Ja danke, deine PN habe ich erhalten, aber die ist sehr allgemein gehalten. Ich dachte eher an ein Code-Beispiel oder Details über verwendete Software von A-Trust. Das würde mir Zeit sparen, wenn ich da nicht selber wühlen muss, zumal ich mit Java nicht vertraut bin. Wenn ich deine Lösung nur an meine Situation anpassen müsste, wäre das für mich der geringste Aufwand. Vielleicht gibt es ja eine Möglichkeit?
lg
Črtomir

Re: A-TRUST Com-Objektl

Verfasst: Fr, 21. Okt 2016 8:30
von BIK
Da gibt es aber auch nichts weiter zu erklären als das was ich dir damals gemailt habe.
Gerne würde ich dir ein paar codeschnipsel hier posten, aber das einzige was ich mache ist,
ein txt zu erzeugen das Ergebnis lesen und weiter zu verarbeiten.

der Vorgang:
Input.txt mir den relevanten Daten wird von mir erzeugt
Aufruf des JAVA Programmes mit -s
dort wird Karte geprüft, Daten verschlüsselt und signiert
ein output.txt und das fertige DEP.json werden erzeugt.

Ein Aufruf mit -c gibt mir lediglich verschiedene Statusmeldungen der Karte oder des Lesegerätes
zurück, welche in ein ready.txt gespeichert werden
(Reader nicht angesteckt, Karte - defekt - nicht vorhanden -falsch - nicht lesbar, ... )

Das würde natürlich auch direkt mittels Parameterübergabe gehen, hatte jedoch diese Vorgaben und das Lesen/Schreiben
eines 4 Zeilers ist marginal langsamer!

thats it!

Re: A-TRUST Com-Objektl

Verfasst: Fr, 21. Okt 2016 9:15
von CRT
Also ich kann bei atrust nichts finden was mich weiterbringt :-(
Das habe ich mir angesehen http://labs.a-trust.at/developer/downlo ... es_0.5.zip
lg

Re: A-TRUST Com-Objektl

Verfasst: Fr, 21. Okt 2016 11:06
von BIK
CRT hat geschrieben:Also ich kann bei atrust nichts finden was mich weiterbringt :-(
Das habe ich mir angesehen http://labs.a-trust.at/developer/downlo ... es_0.5.zip
lg
schau mal bei den Sourcecodes ob dir da was weiter hilft
http://labs.a-trust.at/developer/source.aspx

Re: A-TRUST Com-Objektl

Verfasst: Di, 25. Okt 2016 16:09
von flanelli
BIK hat geschrieben: Das BMF hat die Laufzeit auf 5 Jahre gesetzt. Die Karte ist jedoch über diese Laufzeit gültig!!
Danke für die Info - bleibt nur zu hoffen dass die Kartenanbieter die Karte nicht nach einer gewissen Laufzeit deaktivieren
BIK hat geschrieben: Global-Trust drückt dir mit dem Kauf der Karte gleich den "Service" aufs Auge, dass bei defekter Karte oder Lesegerät,
diese kostenlos ersetzt werden.
Das sollte ja kein Nachteil sein wenn die das so handhaben - so etwas sehe ich nicht als "aufs Auge drücken"
BIK hat geschrieben: Ich hab im November bei der A-Trust Schulung Karte und Lesegerät für 15 Euro gekauft, die seit Juli im täglichen Einsatz
einwandfrei funktioniert.
Tja, und ich habe im Oktober eine Karte samt Gemalto-Bridge bei A-Trust gekauft und die Karte war ein "Satz mit X"
( Über diverse Dokumentationen von A-Trust sage ich an dieser Stelle mal lieber nichts sonst wirds echt heftig mit dem "trusten" )
BIK hat geschrieben: Eine generelle Frage wirft sich mir bei CRT und dir jedoch schon auf.
Warum wollt ihr die ganze Sache in Xbase programmieren??
A-Trust stellt jede Menge kostenlose Sourcen in JAVA und verschiedene VB und C# Files zur Verfügung, die ja von Xbase
mit RunShell() etc. problemlos aufgerufen werden können.
Ich kann bei meinen Ausführungen nichts entdecken das darauf hinweist dass ich das Handling der Karte und der Signierung
mit Xbase "native programmieren" möchte denn das geht schlicht und einfach nicht.
Mein Gedanke ist lediglich die Verwendung eines COM-Module das ja ebenfalls wie erwähnt von A-Trust ( und zb. auch von ITG )
angeboten wird und somit kommt es letztendlich mehr oder weniger thematisch auf das gleiche heraus wenn man - so wie du
es beschreibst - einen Java-Xode von A-Trust verwendet. Den wird man aber wohl auch nicht als ENDLÖSUNG 1:1 übernehmen können und
daher auch das eine oder andere daran "schnipseln" müssen. THEMATISCH sehe ich da also keinen Unterschied zwischen
deiner und meiner angedachten Vorgangsweise.

Im Detail sieht das schon etwas anders aus.
Zum Einen stellt sich die Frage wie weit die angebotenen COM-Module auch "solide" gestaltet sind und keine Probleme bereiten.
Ich bin derzeit noch im Teststadium don ITG und ärgere mich ein wenig über das eine oder andere :-)
Das A-TRUST COM-Modul kann man ja nicht testen - wss muss man gleich für satte 1.300,-- plus 1 Jahr Support 1,200,-- kaufen.
Ist mir für einen Versuch irgendwie ein ganz klein wenig zu "billig" :badgrin:

Zum Anderen stellt sich die Frage wie weit alles mit JAVA so "solide" auf DAUER abläuft
Letztendlich ist es ja auch eine Frage des Knowhow. Klar kann man auch den Umgang mit JAVA lernen und wird dies im Falle
eines Sourcecode-Abtipseln von A-Trust oder irgend jemand anderen wohl auch zwangsläufig tun müssen.
Ich verwehre mich ja nicht prinzipiell gegen eine Lösung mit JAVA allerdings würde ich da von der Pike auf einsteigen müssen
und wenn ich dann keine wirklich "sprechenden" Codebeispiele vorfinde kriege ich eine leise Gänsehaut :-)
BIK hat geschrieben: Ich rufe das Programm mit ShellExecuteA() auf und es wird ein DEP.Json erzeugt und alle relevanten Ergebnisse in ein .txt File zurück geschrieben.
Ferner kann vor der Signierung die Karte und Leser auf Funktion geprüft werden.
Dann einlesen, speichern, drucken wenn gewünscht per pdfCreator automatisch auf den Webspace schreiben und fertig.
Welches Programm rugst du denn auf?
Ist das so streng geheim oder könntest du das nicht hier als File ablegen?
Wenn es ja sowieso von A-trust zur Verfügung gestellt wird ist und schon alles fix und fertig funktioniert wäre das doch kein
Problem bzw. ein exakter Link auf den defintiven Download ja auch möglich, oder?
geht es bei "DEINEM" Sourceode um
APDU Beispiele für Registrierkassen
oder um
Java Beispiel für Registrierkassen mobile
oder ???
BIK hat geschrieben: Jede Menge Erfahrungsaustausch findet ihr auch bei XING https://www.xing.com/communities/groups ... ch-1078578.
Hier stehen Dr. Kutschera und Dr. Knasmüller in Rekordzeiten mit Antworten zur Verfügung!
Stimmt, die beiden Herren sind sehr gut informiert und auch speziell bei diverse Spitzfindigkeiten bei der operativen Abwicklung
aller nur erdenklichen rechtlichen Problemfälle mit der SIgnatur schon recht beschlagen.
bei ASIT ( Prüftool etc. ) ist man ja auch schlau allerdings geht es dort primär um die technische Abwicklung und leider eben nur JAVA.
BIK hat geschrieben: Beitragvon BIK » Do, 20. Okt 2016 16:07
CRT hat geschrieben:
Klingt interessant. Kannst Du da mehr dazu posten?
lg
Črtomir

Habe ich doch schon alles bei deiner PN Anfrage vom 27.9 auführlich gemacht :?:
Nachdem ich das ja nicht lesen "durfte" kann ich auch keine Aussage über die Ausführlichkeit machen :-)
BIK hat geschrieben: Beitragvon BIK » Fr, 21. Okt 2016 8:30
Da gibt es aber auch nichts weiter zu erklären als das was ich dir damals gemailt habe.
Gerne würde ich dir ein paar codeschnipsel hier posten, aber das einzige was ich mache ist,
ein txt zu erzeugen das Ergebnis lesen und weiter zu verarbeiten.

der Vorgang:
Input.txt mir den relevanten Daten wird von mir erzeugt
Aufruf des JAVA Programmes mit -s
dort wird Karte geprüft, Daten verschlüsselt und signiert
ein output.txt und das fertige DEP.json werden erzeugt.

Ein Aufruf mit -c gibt mir lediglich verschiedene Statusmeldungen der Karte oder des Lesegerätes
zurück, welche in ein ready.txt gespeichert werden
(Reader nicht angesteckt, Karte - defekt - nicht vorhanden -falsch - nicht lesbar, ... )

Das würde natürlich auch direkt mittels Parameterübergabe gehen, hatte jedoch diese Vorgaben und das Lesen/Schreiben
eines 4 Zeilers ist marginal langsamer!

thats it!
Sorry, aber that's nothing!
Warum schreibe ich das?
Weil keinerlei Hinweis auf den KONKRETEN Sourcecode gegeben und das kann wohl nicht daran liegen dass
ich keine PN-Kommunikation mit "BIK" hatte denn "CRT" konnte damit offensichtlich auch nichts anfangen.

Naja, wie auch immer.
Es wäre halt recht schön und nett und auch sinngemäß wenn man etwas "offener" miteinander Kommunizieren
könnte und gerade bei so haarsträubenden Dingen wie der RKSV ein MITEINANDER und nicht eine
eventuell aus Konkurrenzdenken resultierenden Zurückhaltung im Vordergrund stehen würde.
Für eine gute Lösung und einen klaren Ablauf wird auch jeder bereit sein einen Obulus dafür zu leisten falls das
zwingend im Interesse des "Erfinders" ist.

Sollte ich mit meiner Ansicht falsch liegen werde ich damit auch leben können :-)
Viel lieber würde ich aber einen ECHTEN Erfahrungsaustausch und ein ECHTES Miteinander erleben dürfen.

LG, Marcel

Re: A-TRUST Com-Objektl

Verfasst: Mo, 31. Okt 2016 13:48
von flanelli
@CRT
Kurzer Zwischenbericht
Bis auf ein paar "Kleinigkeiten" die noch zu klären sind würde ich mal behaupten dass
mit dem ITG-COM-MODUL sowohl der Zugriff auf die Karte und die Signierung ohne Probleme
klappt wobei ich mich definitiv für die Global-Trust-Karte entschieden habe.

Aktuelles Manko ist derzeit noch der Umstand dass bei "ausgefallener Sicherheitseinrichtung"
- also einerlei ob Reader oder Karte daran schuld ist -
man sowohl Header als auch Payload selbst generieren muss da die Signfunktion diese Werte
leider nicht zurückgibt obwohl es mit der eigentlichen Signierung ja nichts zu tun hat.
Wäre für den Hersteller sicher kein problem das noch einzubauen - mal sehen wie der reagiert.

Nach meinem simplen Verständnis für die unsagbar chaotischen Dokumentationen des BM ( ASIT )
müssen ja auch bei ausgefallener Signatureinheit die ersten beiden Elemente Header und Payload
der kompakten JWS-Repräsentation entsprechen. "header" ist ja statisch und ebenso "signature"
und daher kein Problem aber ich schnalle das einfach nicht wirklich wie der Payload in diesem Fall
zu generieren wäre.

Sobald ich in diesem Punkt Klarheit erlangt habe gebe ich Bescheid.
Eventuell kommt ja auch von deiner Seite eine Erleuchtung oder auch generell eine ganz andere
Vorgangsweise die du inzwischen möglicherweise ausgegraben hast.

( ITG hat inzwischern hervorragend reagiert - ein marginales, simpel zu lösendes Problem )

Gruß, Marcel

Re: A-TRUST Com-Objektl

Verfasst: Mo, 31. Okt 2016 19:06
von CRT
Hallo Marcel,
es freut mich, dass Du Fortschritte machst. Nur zu gerne würde ich von Deiner Erfahrung partizipieren und vielleicht komme ich noch darauf zurück. Jetzt bin ich aber noch nicht so weit. Ich arbeite mit der winscard.dll und habe bereits Zugriff auf die Signatureinheit und die Signaturkarte. Letzter Stand ist, dass die von der Karte zurückgegebenen Werte noch keinen Sinn machen. Da muss ich mich wohl noch intensiver mit den APDU Kommandos auseinandersetzen. Du siehts ich bin noch SEHR am Anfang :-(. Ich hoffe in den nächsten zwei Wochen etwas weiter zu kommen um mitreden zu können. Mein Ansatz ist, auch wenn der Aufwand unverhältnismäßig ist, möglichst unabhängig von Drittanbietern zu sein.

lg
Črtomir