用于验证CAP消息是否符合OASIS CAP 1.2模式并验证XML签名的Python模块。
项目描述
CAP验证器
确保CAP警报有效的Python模块。
功能
- 模式验证: 确保您的CAP XML文件遵循CAP v1.2标准。
- 数字签名验证: 验证CAP XML文件是否来自合法来源且未被篡改。
注意:目前,仅支持由受信任证书颁发机构(CA)颁发的证书。这意味着带有自签名的证书将 无法 通过验证。
入门指南
1. 安装
pip install capvalidator
2A. 使用API
我们可以使用 validate_cap_message(cap, strict)
对CAP XML文件进行完全验证。
cap
:CAP警报XML字节数组。strict
:是否强制执行签名验证。默认为True
。
from capvalidator import validate_cap_message
# Read the CAP XML file as a byte string
with open(<cap-file-directory>, "rb") as f:
cap = f.read()
# Perform the validation
result = validate_cap_message(cap, strict=True)
# Check the result
passed = result.passed
msg = result.msg
if not passed:
# Logic for handling invalid CAP file
# Logic for handling valid CAP file
或者,我们可以使用 check_schema(cap)
和/或 check_signature(cap)
进行更精细的验证
from capvalidator import check_schema, check_signature
# Read the CAP XML file as a byte string
with open(<cap-file-directory>, "rb") as f:
cap = f.read()
# Validate the schema
schema_result = check_schema(cap)
# Check the results
passed = schema_result.passed
msg = schema_result.msg
if not passed:
# Logic for handling invalid CAP file
# Validate the signature
signature_result = check_signature(cap)
# Check the results
passed = signature_result.passed
msg = signature_result.msg
if not passed:
# Logic for handling invalid CAP file
# Logic for handling valid CAP file
还有一个日期提取器 get_dates(cap)
,可能对您有用
from capvalidator import get_dates
# Read the CAP XML file as a byte string
with open(<cap-file-directory>, "rb") as f:
cap = f.read()
dts = get_dates(cap)
sent_date = dts.sent
effective_date = dts.effective
onset_date = dts.onset
expiry_date = dts.expiry
2B. 使用CLI
我们可以对CAP XML文件进行完全验证
capvalidator validate <cap-file-directory>
默认情况下,这包括模式和签名验证。
要手动启用/禁用对有效XML签名的强制执行,我们可以使用分别的 --strict
或 --no-strict
参数
capvalidator validate --strict <cap_file-directory>
capvalidator validate --no-strict <cap_file-directory>
或者,对于更精细的验证,我们可以使用 --type
参数
capvalidator validate --type schema <cap-file-directory>
capvalidator validate --type signature <cap-file-directory>
错误和问题
所有错误、增强和问题都由GitHub管理。
联系
项目详情
关闭
capvalidator-0.1.0.dev4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ab9b7f1b7d49611412ac67510de5684dcbb2c566b091cf6a8ed2efdc585d9cac |
|
MD5 | c8539c548760c5972479a9a40c5c3f18 |
|
BLAKE2b-256 | 6ccf0a837823eefa82f137a4d3711bc34d39c792f5ad4033c946685eaefc4dbd |
关闭
capvalidator-0.1.0.dev4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ac803b68402dd8a58793172c62cf76812c43a2b44597e00e9e2088f239c9b580 |
|
MD5 | 098b523e21ff6a9c9dc95e618855ecb8 |
|
BLAKE2b-256 | e9f71638ef7c6e1016945efd0c570dbb4ae5cf62ec818f1299ae084b2ed7d443 |