Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stapelberg/coronaqr
Go decoder and verifier for EU Digital COVID Certificate (EUDCC) QR code data
https://github.com/stapelberg/coronaqr
Last synced: about 2 months ago
JSON representation
Go decoder and verifier for EU Digital COVID Certificate (EUDCC) QR code data
- Host: GitHub
- URL: https://github.com/stapelberg/coronaqr
- Owner: stapelberg
- License: apache-2.0
- Created: 2021-06-27T10:25:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-09-28T16:44:02.000Z (about 2 years ago)
- Last Synced: 2024-10-14T20:07:08.599Z (2 months ago)
- Language: Go
- Homepage:
- Size: 31.3 KB
- Stars: 169
- Watchers: 8
- Forks: 15
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Go Corona QR Code Decoder
[![Go Reference](https://pkg.go.dev/badge/github.com/stapelberg/coronaqr.svg)](https://pkg.go.dev/github.com/stapelberg/coronaqr)
This repository contains a decoder and verifier for EU Digital COVID Certificate
(EUDCC) QR code data, written in Go.If you got vaccinated and want to know what is stored in the QR code, this
package (and example program) can answer that question!Example usage:
```
go install github.com/stapelberg/coronaqr/cmd/coronadecode@latestapt install curl zbar-tools
curl -sL https://github.com/eu-digital-green-certificates/dgc-testdata/raw/main/CH/png/1.png | \
zbarimg --quiet --raw - | \
coronadecode
```(With older Go versions before 1.16, use `go get -u github.com/stapelberg/coronaqr/cmd/coronadecode` instead.)
## Verification
For cryptographic signature 🔐 verification to work, you need to obtain a trust
list from somewhere, i.e. a list of certificates that you deem suitable for
verification.The [`trustlistmirror`
package](https://pkg.go.dev/github.com/stapelberg/coronaqr/trustlist/trustlistmirror)
implements loading the trust lists of the German, Austrian or French
governments, which each include all the certificates that are accepted EU-wide.This is how you would select which trust list to use:
```
curl -sL https://github.com/eu-digital-green-certificates/dgc-testdata/raw/main/CH/png/1.png | \
zbarimg --quiet --raw - | \
coronadecode -verify -trustlist=trustlistmirror/at
```## Compliance
This implementation passes the positive and negative interoperability tests ✅
of multiple countries provided in the
https://github.com/eu-digital-green-certificates/dgc-testdata/ repository.