{"id":21279864,"url":"https://github.com/greenboxal/emv-kernel","last_synced_at":"2025-07-11T09:31:22.633Z","repository":{"id":57485193,"uuid":"71657685","full_name":"greenboxal/emv-kernel","owner":"greenboxal","description":"Full EMV kernel implementation in Go","archived":false,"fork":false,"pushed_at":"2020-01-30T22:02:26.000Z","size":68,"stargazers_count":82,"open_issues_count":3,"forks_count":22,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-06T02:23:34.243Z","etag":null,"topics":["credit-card","emv","emv-kernel","go","pcsc"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/greenboxal.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-22T18:23:29.000Z","updated_at":"2025-03-24T02:24:08.000Z","dependencies_parsed_at":"2022-08-26T13:40:09.682Z","dependency_job_id":null,"html_url":"https://github.com/greenboxal/emv-kernel","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/greenboxal/emv-kernel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenboxal%2Femv-kernel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenboxal%2Femv-kernel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenboxal%2Femv-kernel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenboxal%2Femv-kernel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/greenboxal","download_url":"https://codeload.github.com/greenboxal/emv-kernel/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenboxal%2Femv-kernel/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264777694,"owners_count":23662536,"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":["credit-card","emv","emv-kernel","go","pcsc"],"created_at":"2024-11-21T10:26:47.846Z","updated_at":"2025-07-11T09:31:22.274Z","avatar_url":"https://github.com/greenboxal.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# emv-kernel\n\nProof of concept EMV kernel written in Go.\n\nShould be compatible with EMV 4.3 and any card brand which implements the standard correctly (MasterCard, Visa, Amex, etc).\n\n## EMV\n\nEMV stands for Europay, MasterCard and Visa. You can read more about it [here](https://en.wikipedia.org/wiki/EMV#Versions).\n\nThis technology is used to authenticate genuine transactions in modern credit and debit cards.\n\n## Whats an EMV Kernel?\n\nAn EMV Kernel is a piece of software capable of talking with an EMV ICC (the card chip) and processing a transaction correctly.\n\nThis includes implementing the EMV protocol, verifying chip authenticity, performing risk management and asking for the Application Cryptogram (AC), which is a cryptographic proof of the transaction used in the authorization process.\n\n## Can I use it?\n\n### No\nDo not expect to use this in production, I can't guarantee that this will pass in any certification process.\n\nWithout certification (even with TBH), no acquirer will permit a transaction to be processed in its network. Also, typical EMV kernels are implemented by Point of Sale manufacturers and always run on secure hardware (as per the EMV Book and PCI PTS).\n\n### Yes\nThis should work for Offline-Pin transactions which don't need to send the PIN enciphered with the acquirer key.\n\n## How to use it\n\nJust plug any PC/SC smart card reader with any compatible card inside.\n\n## References\n\n* http://www.openscdp.org/scripts/tutorial/emv/index.html\n* https://www.emvco.com/specifications.aspx?id=223\n* https://en.wikipedia.org/wiki/EMV\n* The internet\n\n## License\n\nMIT.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreenboxal%2Femv-kernel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreenboxal%2Femv-kernel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreenboxal%2Femv-kernel/lists"}