This repository contains scripts that help you validate QR codes.

Overview

Validation tools

This repository contains scripts that help you validate QR codes.

It's hacky, and a warning for Apple Silicon users: the dependencies I use are a mess on your platform. I've given up trying to get it working.

Initializing

First make sure that you have Python 3.9+ installed and working.

Secondly, install all the dependencies:

pip3 install -r requirements.txt

Thirdly, update trustlist.json using the response from the gateway.

No access to the gateway? Then you can use the German trust list:

https://de.dscg.ubirch.com/trustList/DSC/

Just remove the first line (it's a signature of the document).

validate_quality_assurance.py

This tool validates the encoding, schema and signature of all the Quality Assurance QR codes.

The QA repository can be found here:

https://github.com/eu-digital-green-certificates/dcc-quality-assurance

It has the following arguments, both of which are optional and have sensible defaults:

--repo 'path/to/dcc-quality-assurance'
--countries 'NL,DE,SE'

validate_hcert.py

This tool validates the encoding, schema and signature of all the hcert string. It reads the hcerts from std-in, one line per hcert, and validates in serial.

Example (unix-likes)

cat examples/hcert-examples.txt | python3 validate_hcert.py

Example (windows)

type examples\hcert-examples.txt | python validate_hcert.py

qr_to_hcert.py

This little tool converts a QR into a hcert string and dumps that to std-out.

Now you can do this to validate a QR code:

python qr_to_hcert.py examples/VAC.png | python validate_hcert.py

hcert_to_qr.py

Takes QRs from std:in; for each line, generates a QR. Dumps all QRs to std:out as base64. The last QR created is saved as "my.png" in the current folder

cat examples/hcert.txt | python hcert_to_qr.py

print_payload_hcert.py

Takes QRs from std:in; for each line, unpacks hcert and dumps all of the output to std:out.

cat examples/hcert.txt | python print_payload_hcert.py

print_payload_hcert.py

Takes a QR, parses it, unpacks hcert and dumps all of the output to std:out.

python print_payload_qr.py --file my.png
Owner
Ryan Barrett
Ryan Barrett
Yet another retry utility in Python

Yet another retry utility in Python, avereno being the Malagasy word for retry.

Haute École d'Informatique de Madagascar 4 Nov 02, 2021
A thing to simplify listening for PG notifications with asyncpg

asyncpg-listen This library simplifies usage of listen/notify with asyncpg: Handles loss of a connection Simplifies notifications processing from mult

ANNA 18 Dec 23, 2022
A plugin to simplify creating multi-page Dash apps

Multi-Page Dash App Plugin A plugin to simplify creating multi-page Dash apps. This is a preview of functionality that will of Dash 2.1. Background Th

Plotly 19 Dec 09, 2022
Simple integer-valued time series bit packing

Smahat allows to encode a sequence of integer values using a fixed (for all values) number of bits but minimal with regards to the data range. For example: for a series of boolean values only one bit

Ghiles Meddour 7 Aug 27, 2021
Python program for analyzing the output files of phonopy.

PhononTools Description Python program to analyze the results generated by phonopy. Using the .yaml and .dat files that phonopy generates one can plot

Harry LaBollita 8 Nov 27, 2022
Make your functions return something meaningful, typed, and safe!

Make your functions return something meaningful, typed, and safe! Features Brings functional programming to Python land Provides a bunch of primitives

dry-python 2.6k Jan 09, 2023
A python mathematics module

A python mathematics module

Fayas Noushad 4 Nov 28, 2021
Simple web index to use bloom filter for Pwned Passwords

pwbloom Simple web index to use bloom filter for Pwned Passwords The index.py runs a simple CGI web service checking passwords with a bloom filter for

Hanno Böck 4 Nov 23, 2021
✨ Un juste prix totalement fait en Python par moi, et en français.

Juste Prix ❗ Un juste prix totalement fait en Python par moi, et en français. 🔮 Avec l'utilisation du module "random", j'ai pu faire un choix aléatoi

MrGabin 3 Jun 06, 2021
ULID implementation for Python

What is this? This is a port of the original JavaScript ULID implementation to Python. A ULID is a universally unique lexicographically sortable ident

Martin Domke 158 Jan 04, 2023
Python 3 script unpacking statically x86 CryptOne packer.

Python 3 script unpacking statically x86 CryptOne packer. CryptOne versions: 2021/08 until now (2021/12)

5 Feb 23, 2022
A Python library for reading, writing and visualizing the OMEGA Format

A Python library for reading, writing and visualizing the OMEGA Format, targeted towards storing reference and perception data in the automotive context on an object list basis with a focus on an urb

Institut für Kraftfahrzeuge, RWTH Aachen, ika 12 Sep 01, 2022
.bvh to .mcfunction file converter.

bvh-to-mcf .bvh file to .mcfunction converter

Hanmin Kim 28 Nov 21, 2022
ZX Spectrum Utilities: (zx-spectrum-utils)

Here are a few utility programs that can be used with the zx spectrum. The ZX Spectrum is one of the first home computers from the early 1980s.

Graham Oakes 4 Mar 07, 2022
This utility lets you draw using your laptop's touchpad on Linux.

FingerPaint This utility lets you draw using your laptop's touchpad on Linux. Pressing any key or clicking the touchpad will finish the drawing

Wazzaps 95 Dec 17, 2022
API for obtaining results from the Beery-Bukenica test of the visomotor integration development (VMI) 4th edition.

VMI API API for obtaining results from the Beery-Bukenica test of the visomotor integration development (VMI) 4th edition. Install docker-compose up -

Victor Vargas Sandoval 1 Oct 26, 2021
A utility that makes it easy to work with Python projects containing lots of packages, of which you only want to develop some.

Mixed development source packages on top of stable constraints using pip mxdev [mɪks dɛv] is a utility that makes it easy to work with Python projects

BlueDynamics Alliance 6 Jun 08, 2022
EVE-NG tools, A Utility to make operations with EVE-NG more friendly.

EVE-NG tools, A Utility to make operations with EVE-NG more friendly. Also it support different snapshot operations with same style as Libvirt/KVM

Bassem Aly 8 Jan 05, 2023
A python tool give n number of inputs and parallelly you will get a output by separetely

http-status-finder Hello Everyone!! This is kavisurya, In this tool you can give n number of inputs and parallelly you will get a output by separetely

KAVISURYA V 3 Dec 05, 2021
✨ Voici un code en Python par moi, et en français qui permet d'exécuter du Javascript en Python.

JavaScript In Python ❗ Voici un code en Python par moi, et en français qui permet d'exécuter du Javascript en Python. 🔮 Une vidéo pour vous expliquer

MrGabin 4 Mar 28, 2022