Я пытаюсь завершить весь процесс запроса / проверки надежной метки времени. Я работаю с сервером TSA и могу создать действительный запрос метки времени. Я знаю, что это действительно так, потому что у владельца tsa есть веб-страница, посвященная проверке запроса с меткой времени. В любом случае, я должен выполнить этот процесс программно, поэтому я использую openssl для проверки:
openssl ts -verify -queryfile request.tsq -in result.tsr -CAfile tsaownercert.pem
эта команда всегда производит:
TS_VERIFY_CERT:certificate verify error:unable to get local issuer certificate
Я работаю локально с Mamp, но также и онлайн на сервере CentOs, поведение такое же.
tsaownercert.pem
- это сертификат, который я получил от владельца tsa, они сказали
«это сертификат, в котором подписана метка времени» Может быть, мне нужно сделать какую-то установку сертификата в системе, чтобы сделать его доступным? Как я могу это сделать в Mamp и как на сервере?
Из справочной страницы OpenSSL:
-CAfile trust_certs.pem
Имя файла, содержащего набор доверенных самозаверяющих сертификатов CA в формате PEM. Смотрите похожие вариант verify (1) для получения дополнительных сведений. Либо этот вариант, либо -CApath должен быть указан. (Необязательно)
-untrusted cert_file.pem
Набор дополнительных ненадежных сертификатов в формате PEM, которые могут потребоваться при построении цепочки сертификатов для сертификат подписи TSA. Этот файл должен содержать подпись TSA сертификат и все промежуточные сертификаты ЦС, если ответ включает их. (Необязательно)
Поэтому -CAfile
должен указывать на самоподписанный корневой ЦС, в то время как все подчиненные ЦС, включая сертификат подписи TS, должны находиться в файле, на который указывает -untrusted
, если их нет в исходном ответе ( result.tsr
).