我正在尝试为我的内容添加时间戳,以便我知道它何时更改。首先,我使用了一个 shell 脚本,但我想在我的 python 程序中实现它。shell 脚本现在工作正常,但我无法让 python 版本为我工作。这是工作外壳版本
in_file='test_content'
out_file="${in_file}.tsr"
ts_server='http://time.certum.pl/'
openssl ts -query -data "$in_file" -sha1 -cert | curl -o "$out_file" -sSH 'Content-Type: application/timestamp-query' --data-binary @- "$ts_server"
openssl ts -verify -data "$in_file" -in "$out_file" -CAfile "/usr/lib/ssl/certs/Certum_Trusted_Network_CA.pem"
openssl ts -reply -in "$out_file" -text
我试图用rfc3161 包来模拟这一点,但验证没有按预期进行。这是python代码
import rfc3161
cert = file('/usr/lib/ssl/certs/Certum_Trusted_Network_CA.pem').read()
rt = rfc3161.RemoteTimestamper('http://time.certum.pl/', certificate=cert)
data_to_sign = file('test_content').read()
print rt.timestamp(data=data_to_sign)
>>> (False, 'Bad signature')
我不知道出了什么问题,因为两个脚本都应该做同样的事情。有人可以告诉我python版本有什么问题吗?