我使用 openSSL 从 RFC 3161 TimeStampReq 生成了 RFC 3161 TimeStampResp。因此,我使用了自签名 CA 证书和自签名 CA 使用以下命令颁发的 TSA 证书:
openssl ts -reply -queryfile request.tsq -signer TSAcert.pem -out response.tsr
响应已创建。
openssl ts -reply -text -in response.tsr
生成以下输出:
状态信息:
状态:授予。
状态描述:未指定
失败信息:未指定
TST 信息:
版本:1
策略 OID:tsa_policy1
哈希算法:sha256
消息数据:
0000 - 43 2c bb 03 28 48 42 06-c0 c8 95 ee d8 32 9d 29 C,..(HB ......2.)
0010 - 09 7c 10 be 68 2a 77 f6-6e 96 61 7c bf 8f e2 cd .|..h*wna|....
序列号:0x01
时间戳:2013 年 8 月 1 日:40:03 2018 GMT
精度:0x01 秒,0x01F4 毫秒,0x64 微秒
订购:是随机数
:未指定
TSA:DirName:/C=stuff/ST=Some-State/L=stuff/O=stuff/CN=stuff
扩展名:
当我尝试使用以下命令针对 TimeStampReq 验证 TimeStampResp 时:
openssl ts -verify -queryfile request.tsq -in response.tsr -CAfile CAcert.pem -untrusted TSAcert.pem
我收到一条错误消息,指出我的 CAcert 是自签名的(这实际上是真的)
验证:失败
139727615005120:错误:2F06D064:时间戳例程:ts_verify_cert:证书验证错误:../crypto/ts/ts_rsp_verify.c:182:验证错误:自签名证书
有什么方法可以跳过证书验证或告诉 openSSL 这个 CA 可以信任?