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
Thema durchsuchen
Ansicht
Themen-Optionen

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

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

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#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
838 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.666 Beiträge
 
Delphi 12 Athens
 
#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
3.094 Beiträge
 
Delphi 12 Athens
 
#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.666 Beiträge
 
Delphi 12 Athens
 
#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
3.094 Beiträge
 
Delphi 12 Athens
 
#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
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#7

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

  Alt 31. Jul 2025, 14:17
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?
Ich habe mir das mal angesehen auf github gibt es einige implementierungen von winscard.h für delphi.
Weist du woran man winscard.dll compatible Mifare classic und desfire leser erkennt?
Also nicht welchen myfare stadard die unterstützen sondern ob die mit winscard.dll zusammen arbeiten.
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#8

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

  Alt 31. Jul 2025, 14:36
Nee. Wir haben einen billigen USB-Reader hier, aber der will nicht, obwohl er sollte.

Ansonsten verwenden wir die Reader von Feig und Datafox, mit deren DLL/API.
https://www.feig.de/rfid-und-barcode-systeme/ -> Rubrik = Tischleser
https://www.datafox.de/produkte-loes...bersicht#c6993

der TWN4 RFID-Leser könnte vielleicht das WinSCard unterstützen. (die API von DataFox unterstützt er jedenfalls nicht)
https://www.datafox.de/produkte-loes...usb-rfid-leser (den TWN4 gibt es wo anders halb so teuer, z.B. bei A)



Es kommt drauf an, was du von der WinSCard.dll haben willst.
Einige der WinAPI findest du unter (23.0 = Delphi 12)
C:\Users\%username\Documents\Embarcadero\Studio\23.0\CatalogRepository\WindowsAPIfromWinMD-1.0\Windows.Security.Credentials.pas

In der Delphi-Suche (Strg+Shift+F) das Verzeichnis $(BDSCatalogRepository)

Und natürlich vorher im GetIt das "WinMD" installiert. (aber https://www.delphipraxis.net/214473-...vor-winmd.html)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (31. Jul 2025 um 21:18 Uhr)
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
548 Beiträge
 
Delphi 12 Athens
 
#9

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

  Alt 31. Jul 2025, 21:15
Ich habe Reader wie den TWN4 schon für verschiedene Zwecke eingesetzt, aber immer nur die ID gelesen über pseudoserielle Schnittstelle. Alles andere hat dann das Programm gemacht. Die Notwendigkeit auf den Karten zu schreiben oder andere Daten als die ID zu lesen konnte ich immer vermeiden.

Ausnahme war Contidata, auf deren Karten wird direkt Geld gespeichert aber da gab es dann eine DLL mit Doku und dann ging das recht einfach.
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#10

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

  Alt Gestern, 09:19
Ich brauche auch nur die ID!
Aber es wär halt schon nett, wenn es irgendwie erkennbar ist das winscard.dll unterstützt wird.

Ich habe mal Gemini gefragt.

Anscheinend ist der

Gold Standard wenn der Scanner "PC/SC Workgroup" und "CCID" kompatibel ist.
Da windows einen generischen USB-treiber nach "PC/SC Workgroup" standard hat für alle USB-Controller die sich als "CCID" Gerät ausgeben.

Silber Standard wäre wenn das gerät einen "PC/SC Workgroup" kompatiblen Treiber hat. Der stellt sicher dass winscard.dll mit dem Scanner funktioniert.

Bronze Standard billig, ist wenn die eine eine eigene API mitliefern.


Es gibt leider keine präzisen Produktbeschreibungen bei Amazon, aber wenn auf den Fotos der Verpackung plug&play steht, gehe ich mal von der PC/SC version mit "CCID" USB controller aus?

Bei
"LogiLink USB 2.0 Smart-ID-Kartenleser"
steht es sogar dabei
"Unterstützt ISO/IEC 7816 Klasse A, B und C (5 V/3 V/1,8 V) PC/SC 1.0- und 2.0-Karten - Unterstützt USB CCID Transport-Spezifikation Rev1.1 "
aber ich weiß nicht ob der mifare spricht...
Andreas
Nobody goes there anymore. It's too crowded!

Geändert von QuickAndDirty (Gestern um 09:46 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz