{"id":23268604,"url":"https://github.com/eclipse-keyple/keyple-plugin-pcsc-java-lib","last_synced_at":"2025-12-16T11:54:58.922Z","repository":{"id":42430415,"uuid":"214278122","full_name":"eclipse-keyple/keyple-plugin-pcsc-java-lib","owner":"eclipse-keyple","description":"Eclipse Keyple™ Project: PC/SC plugin lib for end users","archived":false,"fork":false,"pushed_at":"2025-07-02T14:13:23.000Z","size":1491,"stargazers_count":5,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-07-02T14:29:44.335Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://keyple.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-keyple.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-10-10T20:20:57.000Z","updated_at":"2025-06-27T13:03:05.000Z","dependencies_parsed_at":"2024-03-27T17:31:14.059Z","dependency_job_id":"09fedb28-d11e-43dd-8fbf-674c20155884","html_url":"https://github.com/eclipse-keyple/keyple-plugin-pcsc-java-lib","commit_stats":null,"previous_names":["eclipse-keyple/keyple-plugin-pcsc-java-lib","eclipse/keyple-plugin-pcsc-java-lib"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/eclipse-keyple/keyple-plugin-pcsc-java-lib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-keyple%2Fkeyple-plugin-pcsc-java-lib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-keyple%2Fkeyple-plugin-pcsc-java-lib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-keyple%2Fkeyple-plugin-pcsc-java-lib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-keyple%2Fkeyple-plugin-pcsc-java-lib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-keyple","download_url":"https://codeload.github.com/eclipse-keyple/keyple-plugin-pcsc-java-lib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-keyple%2Fkeyple-plugin-pcsc-java-lib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271409507,"owners_count":24754728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"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":"2024-12-19T17:20:00.635Z","updated_at":"2025-12-16T11:54:53.864Z","avatar_url":"https://github.com/eclipse-keyple.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=eclipse_keyple-plugin-pcsc-java-lib\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=eclipse_keyple-plugin-pcsc-java-lib)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=eclipse_keyple-plugin-pcsc-java-lib\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=eclipse_keyple-plugin-pcsc-java-lib)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=eclipse_keyple-plugin-pcsc-java-lib\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=eclipse_keyple-plugin-pcsc-java-lib)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=eclipse_keyple-plugin-pcsc-java-lib\u0026metric=ncloc)](https://sonarcloud.io/summary/new_code?id=eclipse_keyple-plugin-pcsc-java-lib)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=eclipse_keyple-plugin-pcsc-java-lib\u0026metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=eclipse_keyple-plugin-pcsc-java-lib)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=eclipse_keyple-plugin-pcsc-java-lib\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=eclipse_keyple-plugin-pcsc-java-lib)\n\n# Keyple Plugin PC/SC Java Library\n\n## Overview\n\nThe **Keyple Plugin PC/SC Java Library** is an add-on to allow an application using Keyple to interact with PC/SC\nreaders.\n\n## Documentation \u0026 Contribution Guide\n\nThe full documentation, including the **user guide**, **download information** and **contribution guide**, is available\non the Keyple website [keyple.org](https://keyple.org).\n\n## API documentation\n\nAPI documentation \u0026 class diagram is available online:\n[docs.keyple.org/keyple-plugin-pcsc-java-lib](https://docs.keyple.org/keyple-plugin-pcsc-java-lib)\n\n## Examples\n\nExamples of implementation are available in the following repository:\n[github.com/eclipse-keyple/keyple-java-example](https://github.com/eclipse-keyple/keyple-java-example)\n\n## Limitations\n\nThis plugin accesses the machine's PC/SC driver using\nthe [calypsonet/jnasmartcardio](https://github.com/calypsonet/jnasmartcardio/) library, which is a fork of\n[jnasmartcardio](https://github.com/jnasmartcardio/jnasmartcardio). This fork resolves some of the limitations of the standard `javax.smartcardio` library and adds \nsupport for missing disconnect modes (`UNPOWER` and `EJECT`) that are absent in standard implementations.\n\nHowever, several limitations remain under the Linux operating system, whose PC/SC layer is based on the `pcsclite`\nlibrary.\n\nIndeed, access to a single PC/SC context via `pcsclite` under Linux is limited to one thread at a time, which may\nconsiderably lengthens card insertion/removal observation and APDU execution times if several readers are observed\nsimultaneously and/or if different threads are used for business processing.\n\nTo overcome these limitations, under Linux it may be necessary to specify the duration of the observation cycle using\nthe `setCardMonitoringCycleDuration(...)` method of the factory builder. Note that reducing this duration increases the\nCPU usage generated by the application. We recommend choosing a value that offers the best compromise between\nperformance and CPU usage. The specified duration may potentially be added one or more times to the processing time of\neach APDUs.\n\nNote that it is also possible to replace the default `jnasmartcardio` PC/SC `SecurityProvider` with another one using\nthe `setProvider(...)` method of the factory builder (e.g.\n[intarsys smartcard-io v1.17.0](https://github.com/intarsys/smartcard-io/tree/7948abfccb270a66621b0d98871b20ec1bc8a021)).\n\n## About the source code\n\nThe code is built with **Gradle** and is compliant with **Java 1.8** in order to address a wide range of applications.\n\n## Continuous Integration\n\nThis project uses **GitHub Actions** for continuous integration. Every push and pull request triggers automated builds\nand checks to ensure code quality and maintain compatibility with the defined specifications.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-keyple%2Fkeyple-plugin-pcsc-java-lib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-keyple%2Fkeyple-plugin-pcsc-java-lib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-keyple%2Fkeyple-plugin-pcsc-java-lib/lists"}