Python中的时间戳服务器rfc3161响应令牌生成

时间:2010-05-18 14:42:24

标签: python m2crypto trusted-timestamp timestamping rfc3161

我正在尝试使用twisted实现python上的tsa服务器。目前我正在使用openssl二进制文件来生成响应,但这对我来说似乎很难看,这就是为什么我要弄清楚如何使用m2crypto制作响应令牌。

提前感谢您的帮助!

Maris的。

编辑:

如何用m2crypto实现?:

openssl ts -reply -section tsa_config1 -queryfile query.tsq -out response.tsr

3 个答案:

答案 0 :(得分:1)

M2Crypto尚未包装那些openssl,因此您不能将M2Crypto用于使用openssl命令行客户端的内容。

答案 1 :(得分:1)

您可以简单地使用rfc3162ng模块。

  1. 下载您喜欢的TSA的证书:
curl -o freetsa.crt https://freetsa.org/files/tsa.crt
  1. 然后使用方法rfc3161ng.RemoteTimestamper设置TSA服务的处理程序,并使用timestamp方法按照rfc3161规范获取时间戳记令牌:
import rfc3161ng 
certificate = open('tsa.crt', 'rb').read() 
rt = rfc3161ng.RemoteTimestamper('https://freetsa.org/tsr', certificate=certificate) 
tst = rt.timestamp(data=b'Data to timestamp')
  1. RemoteTimestamper方法的其他有用参数:
hashname='sha256', timeout=10, username='me', password='secret'

如果您想深入了解其内幕,我建议阅读由EtienneBouché撰写的this useful post

答案 2 :(得分:0)

您可能也对PyASN1项目感兴趣,但是,我应该承认,目前在Python中没有足够的库来实现RFC3161功能。我会转向Perl。