Der ACR122 ist eigentlich für RFID Tokens, wie z.B. NXP Mifare gedacht. Er kann jedoch noch mehr - wenn der Linux Kernel ihn lässt… Eine Datei /etc/modprobe.d/blacklist.nfc.conf sorgt dafür:
install nfc /bin/false install pn533 /bin/false
Dafür kann der Linux Kernel dann keine normalen RFID Tokens mehr bedienen, einen Tod stirbt man also immer.
Karte aufgelegt und
pkcs15-tool -r 10 | openssl x509 -noout -text
Es erschien das auf der Karte gespeicherte Zertifikat.
Using reader with a card: ACS ACR122U PICC Interface 00 00
Certificate: Data: Version: 3 (0x2) Serial Number:
xx:xx:xx:xx:xx:xx:xx:xx Signature Algorithm: ecdsa-with-SHA256 ...
Mit einem Webbrowser klappt das natürlich auch
Nach Eingabe der richtigen PIN wird das passende Zertifikat angeboten:
und man bekommt Zugriff auf die Webanwendung. In diesem Beispiel wurde eine Smartcard-HSM verwendet,
die über eine Dual-Interface Schnittstelle verfügt. Mit dem ACR122 funktionierte das
allerdings nur, weil ein Zertifkat auf Basis elliptischer Kurven verwendet wurde.
Der ACR122 unterstützt keine extended APDUs, daher wird es bei einer Smartcard HSM, die RSA Keys mit ≥1024 Bit enthält, zu Fehlern kommen. Empfehlung: Keys auf Basis von elliptischen Kurven verwendet. Tests mit z.B. Firefox waren erfolgreich.