我正在寻找如何从 p7s 文件中提取时间戳信息(文件签名时)。
我目前正在通过 asn1parse 提取时间戳并使用字符串 (id-smime-aa-timeStampToken)
我解析的文件中的内容如下所示。
19120:d=7 hl=2 l= 11 prim: OBJECT :id-smime-aa-timeStampToken
19133:d=7 hl=4 l=2165 cons: SET
19137:d=8 hl=4 l=2161 cons: SEQUENCE
我正在从偏移量 19137 中提取长度为 2165 的数据(我假设它与偏移量 hl=4 l=2161 存在于同一行),不确定这是正确的,但我得到了正确的时间细节。
但是有没有办法直接从p7s中提取时间戳呢?
您可以使用 OpenSSL 的
cms
命令查看签名的 PKCS#7 文件的内容。假设您没有获得签名者的证书,因此没有验证签名并且只查看结构,您可以使用:这将转储结构的详细信息,其中包括以下摘录:
awk
您可以使用或grep
为必填signingTime
字段过滤此内容。如果过滤 OpenSSL 的文本输出不适合您,还有其他工具更适合检查任何 ASN.1 结构的内容。例如,如果您精通 Python,则可以使用pyasn1crypto。