{"id":50331870,"url":"https://github.com/springcard/ifd-sscp","last_synced_at":"2026-05-29T10:02:31.264Z","repository":{"id":355645263,"uuid":"996812683","full_name":"springcard/ifd-sscp","owner":"springcard","description":"A PC/SC-Lite IFD Handler (reader driver) for NFC Readers using the SPAC SSCPv2 protocol in transparent (coupler) mode","archived":false,"fork":false,"pushed_at":"2026-05-22T14:48:10.000Z","size":189,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-22T16:50:10.843Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/springcard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-05T13:55:52.000Z","updated_at":"2026-05-22T14:48:28.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/springcard/ifd-sscp","commit_stats":null,"previous_names":["springcard/ifd-sscp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/springcard/ifd-sscp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/springcard%2Fifd-sscp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/springcard%2Fifd-sscp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/springcard%2Fifd-sscp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/springcard%2Fifd-sscp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/springcard","download_url":"https://codeload.github.com/springcard/ifd-sscp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/springcard%2Fifd-sscp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33646428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-29T10:02:30.539Z","updated_at":"2026-05-29T10:02:31.238Z","avatar_url":"https://github.com/springcard.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ifd-sscp\r\n\r\n**ifd-sscp** is an open-source PC/SC-Lite IFD Handler (reader driver) for Linux systems, enabling support for NFC Readers that implement the **SPAC SSCPv2** protocol in **transparent (coupler) mode**.\r\n\r\nIt provides a bridge between the PC/SC daemon (`pcscd`) and SSCPv2-compatible NFC readers, making smart cards accessible via standard PC/SC APIs on Linux platforms.\r\n\r\n## Features\r\n\r\n- Implements a PC/SC IFD Handler compatible with `pcsc-lite`\r\n- Supports transparent mode communication over **SSCPv2**\r\n- Clean and modular codebase, easy to integrate and extend\r\n- Works on Linux systems using standard pcsc-lite infrastructure\r\n- Tested on Linux X64, Linux ARM64 (Raspberry)\r\n- MIT License — free to use, modify, and distribute\r\n\r\n## Architecture\r\n\r\nThis handler sits between `pcscd` and an NFC reader using the SSCPv2 protocol in transparent mode. It communicates over serial or USB interfaces to perform smart card operations.\r\n\r\n```\r\n+-------------+      +--------------------------+      +---------------------------+\r\n| Application | \u003c--\u003e | PC/SC Lite (libpcsclite) | \u003c--\u003e | pcscd + ifd-sscp (driver) |\r\n+-------------+      +--------------------------+      +---------------------------+\r\n                                                                     |\r\n                                                           +---------------------+\r\n                                                           | NFC Reader (SSCPv2) |\r\n                                                           +---------------------+\r\n```\r\n\r\n## About PC/SC-Lite\r\n\r\n[PC/SC-Lite](https://pcsclite.apdu.fr/) is an open-source implementation of the PC/SC (Personal Computer/Smart Card) standard, enabling communication with smart cards using standardized APIs on Unix-like systems.\r\n\r\nIt provides a daemon (`pcscd`), client libraries, and a plugin interface for reader drivers (IFD Handlers), such as `ifd-sscp`.\r\n\r\nMore information and source code can be found on the official project website:  \r\n[https://pcsclite.apdu.fr/](https://pcsclite.apdu.fr/)\r\n\r\n## Installation\r\n\r\n### Prerequisites\r\n\r\n- Linux with `pcsc-lite` and development headers\r\n- Reader device supporting **SPAC SSCPv2** in transparent mode\r\n- C compiler, cmake and make\r\n\r\nOn Debian \u0026 Ubuntu, use this command line to install `pcsc-lite` and development headers\r\n\r\n```bash\r\nsudo apt update\r\nsudo apt install pcscd pcsc-tools libpcsclite-dev\r\n```\r\n\r\n### Build and install\r\n\r\n```bash\r\ngit clone https://github.com/springcard/ifd-sscp.git\r\ncd ifd-sscp\r\nmkdir build\r\ncd build\r\ncmake ..\r\nmake\r\nsudo make install\r\n```\r\n\r\nThis will compile and install the handler into the appropriate `pcsc-lite` directory (typically `/usr/lib/pcsc/drivers/`).\r\n\r\n### Configure\r\n\r\nAs root or a *sudoer*, create a file named `/etc/reader.conf.d/ifd-sscp`\r\n\r\nEdit this file and enter the following content\r\n\r\n```\r\nFRIENDLYNAME \"IFD SSCP\"\r\nDEVICENAME /dev/ttyUSB0\r\nLIBPATH /usr/lib/pcsc/drivers/ifd-sscp.bundle/Contents/Linux/libifd-sscp.so\r\n```\r\n\r\n- On line `DEVICENAME`, replace `/dev/ttyUSB0` by the Serial communication device your Reader is connected to.\r\n- On line `LIBPATH`, verify that the path matches the location where `make install` has deployed the binary.\r\n\r\n**NB:** Ensure the user has permissions to access the serial or USB device.\r\n\r\n### Test\r\n\r\nStop the PC/SC daemon\r\n\r\n```bash\r\nsudo service pcscd stop\r\n```\r\n\r\nLaunch the PC/SC daemon manually\r\n\r\n```bash\r\nsudo pcscd -f -d\r\n```\r\n\r\nIf everything is OK, you must ear your Reader beep, and see positive messages in the console.\r\nOtherwise, observe the log and debug!\r\n\r\n## License\r\n\r\nThis project is licensed under the [MIT License](LICENSE).\r\n\r\nThis open-source project is provided as-is, without support or maintenance.\r\nDevelopers and implementers are encouraged to use it responsibly and at their own risk.\r\n\r\n---\r\n\r\n**SPAC** is a trademark of the Secure Protocol Alliance for Couplers.  \r\n**SpringCard** is a member of SPAC, but this project is not endorsed not promoted by SPAC.\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringcard%2Fifd-sscp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspringcard%2Fifd-sscp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringcard%2Fifd-sscp/lists"}