IETF时间戳协议(TSP)(RFC 3161)客户端
项目描述
tsp-client是Python中实现RFC 3161 TSP协议的实现。
TSP用于在时间点进行证明和时间不可抵赖性,作为各种电子签名和代码签名方案的组成部分,包括eIDAS XAdES(tsp-client被SignXML用于实现XAdES)。
安装
pip install tsp-client
摘要
from tsp_client import TSPSigner, TSPVerifier
# Sign a message online by transmitting its digest to the timestamp authority
message = b"abc"
signer = TSPSigner()
signed = signer.sign(message) # Returns raw bytes of the verified timestamp token.
# Verify a presented timestamp token offline using the original message
verified = TSPVerifier().verify(signed, message=message)
# Or sign and verify using the message digest (digest algorithm may vary)
import hashlib
digest = hashlib.sha512(message).digest()
signer.sign(message_digest=digest)
verified = TSPVerifier().verify(signed, message_digest=digest)
print(verified.tst_info) # Parsed TSTInfo (CMS SignedData) structure
print(verified.signed_attrs) # Parsed CMS SignedAttributes structure
指定自定义TSA
要提供带有非抵赖性验证的带时间戳的签名,TSP在生成时间戳令牌时需要使用TSA(时间戳权威)服务器。TSA服务器可以被视为数字公证人。可以使用您的系统证书机构(CA)的信任存储进行离线验证令牌。
默认情况下,tsp-client在签名令牌时使用DigiCert TSA服务器。要使用不同的TSA,将SigningSettings.tsp_server属性设置为以下内容
from tsp_client import TSPSigner, TSPVerifier, SigningSettings
signing_settings = SigningSettings(tsp_server="http://timestamp.identrust.com")
signer = TSPSigner()
signed = signer.sign(message, signing_settings=signing_settings)
目前没有可信的公共TSA提供HTTPS传输安全且不应用限流。DigiCert提供了一个相对高吞吐量的公共TSA端点,但您的消息摘要和令牌将通过未加密的网络进行传输。作为替代方案,Sectigo提供HTTPS TSA(https://timestamp.sectigo.com),但应用了限流,因此只适用于低吞吐量应用。
欧盟在eIDAS仪表板中维护了一个可信TSA列表,然而,此列表仅作为信任根,并不直接链接到列出提供者的TSA端点。
链接
错误
请在GitHub上报告错误、问题、功能请求等。
许可
版权所有 2022-2023,Andrey Kislyuk和tsp-client贡献者。根据Apache License,版本2.0许可。按照Apache License的指定,在源代码副本和衍生作品中分发LICENSE和NOTICE文件是必需的。
项目详情
下载文件
下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
tsp-client-0.2.0.tar.gz (17.2 kB 查看哈希值)
构建分发
tsp_client-0.2.0-py3-none-any.whl (13.3 kB 查看哈希值)
关闭
tsp-client-0.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6e66148dd116322eb44a7484e5ad33bbe640b997343c443de9cc70fc5eb19987 |
|
MD5 | b25914aa0ac369ec16027b29a561c837 |
|
BLAKE2b-256 | 6f135a1fb1cf8c3f578c3380b1ceab6fb4c0496382ed820e94c1845731fdb531 |
关闭
tsp_client-0.2.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0b790d10a68d66782c13f1d7cc7f5206df26b49826c1da80944b7c05b1731784 |
|
MD5 | 7ab55af2a3306841993fee968aeb80d7 |
|
BLAKE2b-256 | 96dfa18501f261b254389c0afdf690c587cb0299f8c4526d805c9bf5fa5265d5 |