Приложение openssl ts
в ветви 1.0.2
имеет ограниченные возможности для влияния на процесс проверки сертификата. Использование этой версии не позволяет достичь того, что вы ищете, без изменения кода приложения или написания собственного решения.
В ветви 1.1.0
OpenSSL, однако, реализация конфигурации приложений, выполняющих проверку сертификатов, была консолидирована и согласована. - см. параметры проверки в нижней части краткого изложения документации ts
1.1.0 Это означает, что openssl ts
в этой ветви имеет те же параметры конфигурации для проверки сертификата, что и другие приложения для проверки. В частности, опция -partial_chain
, как указано в , этот комментарий полезна.
Тестируя ситуацию, которая кажется похожей на вашу, у меня сработало следующее (где TSA_cert.pem
содержит только сертификат подписавшего и не цепочку):
$ openssl ts -verify -in response.tsr -data myFile.txt -CAfile TSA_cert.pem -partial_chain
Verification: OK
Проверка того же файла ответов, но с измененными тремя байтами:
$ openssl ts -verify -in response_corrupted.tsr -data myFile.txt -CAfile TSA_cert.pem -partial_chain
Verification: FAILED
140450542175232:error:21071065:PKCS7 routines:PKCS7_signatureVerify:digest failure:crypto/pkcs7/pk7_doit.c:1007:
140450542175232:error:2F06A06D:time stamp routines:TS_RESP_verify_signature:signature failure:crypto/ts/ts_rsp_verify.c:143:
Однако мне пришлось обновить до 1.1.1
pre- release , потому что я столкнулся с этой ошибкой: Ошибка # 2F067065 - «ошибка сертификата подписи ess», когда проверка ответа на отметку времени , для которого исправление не включено в 1.1.0
.