此代码是用python编写的:
from asn1crypto import tsp, cms, util
response_file = open('timestamp-response.tsr','rb')
response = tsp.TimeStampResp.load(response_file.read())
token = response['time_stamp_token']
signed_data = token['content']
encap_content_info = signed_data['encap_content_info']
tst_info = encap_content_info['content'].parsed
signer_infos = signed_data['signer_infos']
signer_info = signer_infos[0]
signed_attrs = signer_info['signed_attrs']
signature = signer_info['signature']
我无法使用javascript找到执行相同操作的方法,即使库的api看起来也一样。
有用的链接:
https://kjur.github.io/jsrsasign/api/symbols/KJUR.asn1.tsp.TimeStampResp.html https://github.com/wbond/asn1crypto/blob/master/asn1crypto/tsp.py
答案 0 :(得分:1)
我不知道任何现成的库,但我相信应该可以使用ASN1.js来解析来自RFC3161的TimeStampResp
结构并提取数据需要。
当您拥有其ASN.1定义时,解析DER编码结构与解析XML结构时的XSD定义相同,但在您熟悉ASN.1之前可能需要更多时间。
答案 1 :(得分:1)
您可以尝试pkijs。我没有在时间戳上尝试它(只有x509证书),但似乎这个库确实支持它。它在封面下使用asn1js。
时间戳请求:
- 解析内部值
- 获取/设置任何内部值
- 从头开始创建新的时间戳请求"
- 验证时间戳请求签名
时间戳响应:
- 解析内部值
- 获取/设置任何内部值
- 从头开始创建新的时间戳响应"
- 验证时间戳响应签名