{"id":27300787,"url":"https://github.com/martinpaljak/EstEID","last_synced_at":"2025-04-12T01:26:03.474Z","repository":{"id":14360539,"uuid":"17070302","full_name":"martinpaljak/EstEID","owner":"martinpaljak","description":"Estonian eID tools and libraries in Java","archived":false,"fork":false,"pushed_at":"2023-05-09T18:57:14.000Z","size":15853,"stargazers_count":18,"open_issues_count":2,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-27T21:52:03.708Z","etag":null,"topics":["apdu","apdu4j","esteid","java","smartcard"],"latest_commit_sha":null,"homepage":"https://esteid.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/martinpaljak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-21T21:32:40.000Z","updated_at":"2025-01-04T16:25:39.000Z","dependencies_parsed_at":"2022-08-30T09:20:43.413Z","dependency_job_id":null,"html_url":"https://github.com/martinpaljak/EstEID","commit_stats":null,"previous_names":["martinpaljak/esteidhacker"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martinpaljak%2FEstEID","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martinpaljak%2FEstEID/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martinpaljak%2FEstEID/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martinpaljak%2FEstEID/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/martinpaljak","download_url":"https://codeload.github.com/martinpaljak/EstEID/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248502913,"owners_count":21114904,"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","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":["apdu","apdu4j","esteid","java","smartcard"],"created_at":"2025-04-12T01:26:02.425Z","updated_at":"2025-04-12T01:26:03.456Z","avatar_url":"https://github.com/martinpaljak.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EstEID for Java \u0026middot; [![Build Status](https://github.com/martinpaljak/esteid.java/workflows/Continuous%20Integration/badge.svg?branch=master)](https://github.com/martinpaljak/esteid.java/actions) [![Latest release](https://img.shields.io/github/release/martinpaljak/esteid.java/all.svg)](https://github.com/martinpaljak/esteid.java/releases)  [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.martinpaljak/esteid/badge.svg)](https://mvnrepository.com/artifact/com.github.martinpaljak/esteid) [![LGPL-3.0 licensed](https://img.shields.io/badge/license-LGPL-blue.svg)](https://github.com/martinpaljak/esteid.java/blob/master/LICENSE)\n\nJava utility and source code for everything and anything related to [EstEID](https://esteid.org):\n\n* [EstEID.java - host API](#esteidjava)\n\n## Usage\n* Fetch and build the software (requires Unix-like OS)\n\n        git clone https://github.com/martinpaljak/esteidhacker.git\n        cd esteidhacker\n        ant\n\n* In this README `esteid` is used as an alias for `java -jar esteid-app.jar`. `esteid.exe` can be used on Windows.\n\n\n## Dependencies\n* [apdu4j](https://github.com/martinpaljak/apdu4j) (MIT)\n* [BouncyCastle](bouncycastle.org/java.html) JCE provider + PKIX (MIT)\n\n## License\nMixed LGPL/MIT, please check individual files! Other options available upon request.\n\n## Contact\n* martin@martinpaljak.net\n\n## Upcoming features\n* Planned:\n  * Pinpad support for PC/SC readers\n* Wishlist:\n  * A GUI maybe, not unlike qesteidutil?\n\n## Components\n\n### EstEID.java\n\nEncapsulates all the APDU protocol knowledge and exposes high-level and meaningful API for making operations with the card (more precisely: on-card application). Can talk to any PC/SC terminal or somethig else exposed via `javax.smartcardio` CommandAPDU/ResponseAPDU pairs.\n\nException handling:\n* IOException when transmit fails\n* EstEIDException when card protocol (or data formats) have unexpected situations\n* WrongPINException when a passed in PIN is incorrect\n\nSource: [EstEID.java](src/org/esteid/EstEID.java)\n\n#### Similar projects\n* https://github.com/sleepless/jesteid\n  * Very verbose but educating to read. Parses a lot of data.\n* http://blog.codeborne.com/2010/10/javaxsmartcardio-and-esteid.html\n  * Simple sample on how to read personal data file.\n* https://eid.eesti.ee/index.php/Sample_applications#Claims_application\n  * Complete \"ecosystem\" sample but not easily re-usable.\n* [esteid.c](https://github.com/martinpaljak/esteid.c)\n  * :( not yet in code  \n* [MOCCA](https://www.egiz.gv.at/en/schwerpunkte/9-MOCCA) - [EstEIDCard.java](https://joinup.ec.europa.eu/svn/mocca/trunk/smcc/src/main/java/at/gv/egiz/smcc/EstEIDCard.java) http://git.egiz.gv.at/mocca/\n  * :) Java\n  * :| ... messy\n\n----\nAll about the [EstEID](https://esteid.org)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartinpaljak%2FEstEID","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmartinpaljak%2FEstEID","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartinpaljak%2FEstEID/lists"}