https://github.com/cunicu/go-iso7816
A Go implementation of the ISO7816 standard for smart card communication
https://github.com/cunicu/go-iso7816
go golang iso7816 smart-card
Last synced: about 1 year ago
JSON representation
A Go implementation of the ISO7816 standard for smart card communication
- Host: GitHub
- URL: https://github.com/cunicu/go-iso7816
- Owner: cunicu
- License: apache-2.0
- Created: 2023-10-13T06:15:00.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-09T16:13:18.000Z (over 1 year ago)
- Last Synced: 2024-12-09T17:27:37.436Z (over 1 year ago)
- Topics: go, golang, iso7816, smart-card
- Language: Go
- Homepage:
- Size: 129 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# go-iso7816: Go implementation of the ISO 7816 standard for smart card communication
[](https://github.com/cunicu/go-iso7816/actions)
[](https://goreportcard.com/report/github.com/cunicu/go-iso7816)
[](https://app.codecov.io/gh/cunicu/go-iso7816/tree/main)
[](https://github.com/cunicu/go-iso7816/blob/main/LICENSES/Apache-2.0.txt)

[](https://pkg.go.dev/github.com/cunicu/go-iso7816)
`go-iso7816` implements several helpers and utilities to communicate with [ISO7816](https://en.wikipedia.org/wiki/ISO/IEC_7816) compliant smart cards.
This includes:
- Abstract interface for smart card communication
- APDU parsing and serialization
- Extended-length support
- TLV en- & decoding variants
- ASN.1 BER-TLV
- Simple TLVs
- Compact TLVs
- Constants of
- Inter-industry instructions and status codes
- Application Identifiers (AIDs)
- Basic card management and query support for:
- [YubiKeys](https://www.yubico.com/)
- [Nitrokeys](https://nitrokey.com/)
- [FEITIAN Security Keys](https://www.ftsafe.com/)
- Card enumeration and filters
- Testing utilities
- Smartcard Mock Object
- Tracing Wrapper
In the future we might want to add support for:
- More device support for existing cards
- Global Platform's Secure Channel Protocol (SCP03)
- Cross-platform transport implementations
- Direct CCID
- Apples CryptoTokenKit
- CGo-less pcscd / libpcsc-lite
## Contact
Please have a look at the contact page: [cunicu.li/docs/contact](https://cunicu.li/docs/contact).
## License
go-iso7816 is licensed under the [Apache 2.0](./LICENSE) license.