Digitaler-Impfnachweis / certification-apis

API Documentation
Apache License 2.0
169 stars 46 forks source link

Decoding the example code #44

Closed SephGER closed 3 years ago

SephGER commented 3 years ago

Hi. I already have a base45 decoder working with the text examples of https://datatracker.ietf.org/doc/draft-faltstrom-base45/ How do I decode the QR-Code to the CBOR-Object. I have tried to put the :6BF[...] into various zlib-deflaters after decoding it with base45 as told in paragraph 2.2 of the https://ec.europa.eu/health/sites/default/files/ehealth/docs/digital-green-certificates_v3_en.pdf but I dont get the CBOR-Object.

SephGER commented 3 years ago

example_decoded.txt This is the Base45 decoded example text

SZoerner commented 3 years ago

Hey @SephGER. There are a couple of things involved when decoding a Digital Covid Certificate (DCC), but in general, the final QR Code is encoded as:

This schematic visualises this quite nicely. For more specific details (HC1: prefix, error correction rate, signature algorithms,...), you might want to have a look at the official spec for the barcode format. The eHN Github organisation then also has sample implementations for decoding in various programming languages - this python script for example implements the individual steps, but depending on your weapon (programming language) of choice, you might want to jump straight to one of the other hcert-* repositories.

Hope that helps!

SephGER commented 3 years ago

Thanks, didn't knew about the eHN Github. This helps a lot :)