VerificaC19 SDK for Python
项目描述
VerificaC19 Python SDK
🐍 VerificaC19 SDK的Python实现。
要求
- Python版本 >= 3.7
- MongoDB版本 >= 5.x(用于存储CRL)
确保您的系统中已安装zbar。 来源。
- 对于Mac OS X,可以通过
brew install zbar进行安装 - Debian系统通过
apt install libzbar0 - Fedora / Red Hat
dnf install zbar
安装
pip install verificac19
用法
下载和缓存规则、CRL数据和DSC
您可以使用service下载和缓存规则、CRL数据和DSC。
from verificac19 import service
service.update_all()
update_all可能会引发VerificaC19Error
from verificac19.exceptions import VerificaC19Error
⚠️ 默认情况下,规则和DSC将缓存在本地文件夹中,要更改它,请设置环境变量VC19_CACHE_FOLDER。
⚠️ CRL数据将存储在MongoDB数据库中。默认的连接字符串为mongodb://root:example@localhost:27017/VC19?authSource=admin,如果想要更改它,请设置环境变量VC19_MONGODB_URL。
验证DCC
您可以使用verifier验证DCC。您可以使用verify_image验证图像,使用verify_raw验证原始数据。
from verificac19 import verifier
result = verifier.verify_image("my_dcc.png")
result = verifier.verify_raw("HC1:GH.....1GH")
verify_image和verify_raw返回一个包含person姓名、date_of_birth、code和message以及result的字典
{
'code': verifier.Codes.NOT_VALID,
'result': False,
'message': 'Certificate is not valid',
'person': 'Sčasný Svätozár',
'date_of_birth': '1984-09-27'
}
您可以比较返回的code与verifier.Codes值
| 代码 | 描述 | 结果 | |
|---|---|---|---|
| ✅ | VALID | 证书有效 | True |
| ⚠️ | TEST_NEEDED | 如果验证模式是BOOSTER_DGP,则需要测试 | False |
| ❌ | 无效 | 证书无效 | False |
| ❌ | 尚未生效 | 证书尚未生效 | False |
| ❌ | 已撤销 | 证书已撤销 | False |
| ❌ | 非欧盟DCC | 证书不是欧盟DCC | False |
例如
result = verifier.verify_image("my_dcc.png")
assert result['code'] == verifier.Codes.NOT_VALID
⚠️ verify_image 和 verify_raw 方法在没有初始化缓存的情况下可能会引发 VerificaC19Error。您至少需要调用一次 service.update_all()!
验证模式
如果您想更改验证模式并验证证书是否为超级绿码,则需要将 verifier.Mode.SUPER_DGP 传递给 verify_image 和 verify_raw 方法。
from verificac19 import verifier
result = verifier.verify_image("my_dcc.png", verifier.Mode.SUPER_DGP)
verifier.Mode 提供了两个可能的值
| 代码 | 描述 |
|---|---|
| NORMAL_DGP | 常规验证(默认值) |
| SUPER_DGP | 超级绿码验证 |
| BOOSTER_DGP | 加强验证模式 |
详细信息
-
SUPER_DGP 模式:VerificaC19 SDK 仅认为针对已接种或已从新冠康复的人的有效绿码有效,并将阻止所有其他人进入酒吧、餐厅、电影院、健身房、剧院、迪厅和体育场。 -
BOOSTER_DGP 模式:VerificaC19 SDK 认为加强剂接种后生成的绿码有效。此外,在首次疫苗接种周期或康复的同时出示证明 SARS-CoV-2 测试结果的数字文件时生成的绿码也视为有效。
开发
安装开发依赖项
pip install -r requirements-dev.txt
确保您的系统中已安装zbar。 来源。
- 对于Mac OS X,可以通过
brew install zbar进行安装 - Debian系统通过
apt install libzbar0 - Fedora / Red Hat
dnf install zbar
CRL 数据将存储在 MongoDB 数据库中。此存储库提供了一个简单的 docker-compose.yml 文件(开发实例)和一个副本集。默认连接字符串为 mongodb://root:example@localhost:27017/VC19?authSource=admin,如果您想更改它,请设置 VC19_MONGODB_URL 环境变量。
运行测试
make test
运行示例
python -m examples.<example_name>
作者
版权所有 (c) 2022 - Lotrèk Digital Agency
贡献者
感谢所有参与改进此项目的人,日复一日。
许可协议
此库可在 MIT 许可协议下使用。
项目详情
下载文件
为您的平台下载文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
verificac19-1.2.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 5aa415c0ed8aaee610bb32b48b7b97746b8bfc52703c7a39cb6e2a8e0da8c6be |
|
| MD5 | fdb945179cbcd1d7f42fe16a2b4363bf |
|
| BLAKE2b-256 | b48deb040f059ff665466874a86d6841a55368176be771f1d90df2c65570dca2 |