AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) NFC - NDEF-Tags mit der WinSCard.dll lesen/schreiben

NFC - NDEF-Tags mit der WinSCard.dll lesen/schreiben

Ein Thema von DeddyH · begonnen am 13. Mai 2020 · letzter Beitrag vom 17. Mai 2020
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.022 Beiträge
 
Delphi 10.3 Rio
 
#1

NFC - NDEF-Tags mit der WinSCard.dll lesen/schreiben

  Alt 13. Mai 2020, 16:48
Ich versuche mich gerade an NFC unter Windows. Dabei möchte ich möglichst auf propietäre Lesegeräte-Treiber verzichten und stattdessen ausschließlich die WinSCard.dll ansprechen. Mittlerweile bin ich soweit, dass ich anhand der ATR die gebräuchlichsten Karten (MIFARE Classic, MIFARE Ultralight etc.) erkennen und deren UID auslesen kann. Nun müsste ich "nur noch" den NDEF-Tag komplett auslesen und beschreiben können. Ich bin bereits mehrere Dokus durchgegangen und je mehr ich lese, desto vewirrter werde ich. Wenn ich es richtig verstanden habe ist es in den meisten Fällen möglich, Pseudo-APDUs an die Karte zu senden. Nur wie die auszusehen haben, überfordert mich derzeit, zumal ich auch nicht weiß, wie NDEF zu kodieren/dekodieren ist. Kennt jemand eine Unit (gern auch kostenpflichtig) oder ersatzweise eine verständliche Doku, die mir weiterhelfen könnte?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
813 Beiträge
 
#2

AW: NFC - NDEF-Tags mit der WinSCard.dll lesen/schreiben

  Alt 13. Mai 2020, 22:45
Du solltest dein Ziel in 2 Teilprobleme unterteilen:
1. RFID-Karten und Tags "erkennen" und ausser UID auch "alles was geht" direkt lesen/schreiben... für AndroidSmartphones mit NFC gibt es das einige gute APPs die das können. So siehst du schonmal was auch bei dir an Nutzdaten heraus kommen sollte
2. prüfen, ob die RFID-Daten NFC/NDEF kompatibel formatiert sind, wenn ja ab hier "NDEF konform" weitermachen, wenn nein Möglichkeit schaffen selbst eine NFC-NDEF konforme Formatierung durchzuführen(entweder HighLevel, oder via BinaryWriteData)


ergänzend zu 1) ..."Pseudo-APDUs an die Karte zu senden. Nur wie die auszusehen haben, überfordert mich derzeit,"...
- ISO14443(MifareClassic,MifareUltralight,MifareDesf ire)
- ISO15693(ICODE-SLI,-SLIx,-SLIx2,-DNA)

ergänzend zu 2) ..."zumal ich auch nicht weiß, wie NDEF zu kodieren/dekodieren ist"
- ISO18xxx

Wenn du es wirklich wissen&verstehen willst, dann kommst du um die in den ISO's dokumentierten allgemein gültigen Befehlssequencen nicht herum... dazu kommen dann jeweils immer noch Hesteller&Typ spezische propitäre Sicherheitsfeatures wie Read/Write/Init/Lock-Passwörter.


Ich würde dir Empfehlen unter Android damit zu beginnen...
https://www.winsoft.sk/anfclib.htm (140$)
da wird dir via Delphi und Beispielen im Prizip ALLES von HighLevel(NFC-NDEF) bis LowLevel(RFID-BinaryReadWrite) gezeigt!

Auch unter Windows würde ich zunächst mit einer gut dokumentierten HerstellerLösung(also Gerät+API) anfangen... arbeite dich zunächst mal in die Logic ein. Wenn das dann klar, bietet jeder gute Hersteller auch den Support um seine Geräte via Windows StandardAPIs anzusprechen. Wenn du gut "Schichten orientiert" programmiert hast, kannst du dann bei dir simpel die untere Protokoll&Übertragungsschicht anpassen/austauschen und schon läuft alles per StandardWindowsAPIs.


Wenn du voll auf HardCore stehst, kannst dir auch alles kostenlose meist sehr "C" lastige Zeug wie "libnfc" und "librfid" ansehen und versuchen da was unter Windows und Delphi ans laufen zu bekommen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.022 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: NFC - NDEF-Tags mit der WinSCard.dll lesen/schreiben

  Alt 14. Mai 2020, 06:46
Danke für die detaillierten Infos. Ich hätte nicht gedacht, dass dermaßen viel Arbeit dahintersteckt. Für alle möglichen Sprachen inkl. Javascript gibt es Libraries, nur für Delphi mal wieder nicht. Ich habe jetzt auf Torry eine Demo gefunden und dem Autor gemailt, mal sehen, was dabei herumkommt. Um alles vom Urschleim an selbst zu machen fehlt mir einfach die Zeit.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
753 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: NFC - NDEF-Tags mit der WinSCard.dll lesen/schreiben

  Alt 15. Mai 2020, 06:38
Grundlegenden Zugriff unter Android birtet aut Brian Long's kostenfreie Lösung.
Zu finden irgendwo auf blong.com
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.022 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: NFC - NDEF-Tags mit der WinSCard.dll lesen/schreiben

  Alt 15. Mai 2020, 12:04
Es geht nicht um Android, sondern um Windows.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
753 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: NFC - NDEF-Tags mit der WinSCard.dll lesen/schreiben

  Alt 17. Mai 2020, 09:56
Ich habe verstanden, dass es am Ende um Windows geht.

Es könnte aber (aus eigener Erfahrung mit dem Thema - nur etwas andere Anforderungen als deine)
unter Android am Anfang etwas einfacher umzusetzen zu sein und man könnte dort dann evtl. ein
paar Dinge schon mal testen, auch wenn man unter Windows noch Probleme hat.

Falls du nicht alleine an dem Projekt arbeitest könnte eine solche Testmöglichkeit anderen
Mitarbeitern am Projekt die Möglichkeit zur Weiterarbeit seines Teils geben auch wenn du
sonst noch mit Windows kämpfst.
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
813 Beiträge
 
#7

AW: NFC - NDEF-Tags mit der WinSCard.dll lesen/schreiben

  Alt 17. Mai 2020, 10:34
..."Wenn du gut "Schichten orientiert" programmiert hast, kannst du dann bei dir simpel die untere Protokoll&Übertragungsschicht anpassen/austauschen und schon läuft alles per StandardWindowsAPIs."...

Ich wiederhole mich einfach mal:
du hast ja eh mindestens 2 getrennte Probleme zu lösen... 1. (Native)Kommunikation&CardDetect... 2. NFC-NDFF Daten-Formatierung&Decodierung

Egal welche Plattform, wenn man es sauber programmiert ist der zweite Aufgabenteil zu 95% Hardware&Plattform unabhängig.
Ob also existierende DelphiBeispielCodes für Android, Linux oder propitäre Windows-HerstellerDLL für "Teil eins" genutzt wird ist doch wurscht, Hauptsache du hast sot zeitnah was lauffähiges vor dir. Dann erarbeitest du dir ergebnisorientiert "Teil 2" und "bastelst" dir deine WinSCard Variante.

Wenn du dir die WinSoft.SK Delphi-Lösung für Android incl. SourceCode kaufst und funktional analysierst... und dir dann alles unter https://github.com/johnidm/PCSCSmartCardComponent auch mal genau ansiehst und analysierts... dann wirst du erkennen wie du was mit der WinSCard.DLL machen musst
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf