OpenSSL: невозможно получить сертификат локального эмитента

У меня есть сертификат C.pfx, который мне дали для работы с OpenSSL. Сертификат C.pfx имеет следующий путь сертификации: C-> B-> A

Я преобразовал C.pfx в PEM, используя следующую команду: openssl pkcs12 -in C.pfx -out C.pem -nodes - РАБОТАЕТ ОК

Я открыл сертификат C.pem в редакторе файлов и увидел, что он содержит как RSA PRIVATE KEY, так и CERTIFICATE.

Я также вижу сертификаты A и B, установленные в хранилище Trusted Roor Cerit Athorities в Windows XP.

Цель состоит в том, чтобы подписать, зашифровать, расшифровать и проверить тестовый файл с использованием OpenSSL для Windows версии 1.0.1c (в настоящее время это последняя версия)

Я использую следующие команды:

--ПОДПИСЫВАТЬ--

openssl smime -sign -signer C.pem -in test.txt -out test.tmp    -- WORKS OK

- В ШИФРОВОЙ--

openssl smime -encrypt -in test.tmp -out test.enc C.pem     -- WORKS OK

- В ДЕКРИПТ--

openssl smime -decrypt -in test.enc -recip C.pem -inkey C.pem -out test1.tmp    -- WORKS OK

--ПРОВЕРЯТЬ--

openssl smime -verify -in test1.tmp -CAfile "C.pem" -out notes1.txt -- FAILS

Я использовал консоль MMC для экспорта сертификатов B и A в файлы CER, а затем преобразовал их в PEM с использованием OpenSSL. После этого я попробовал следующее 2:

openssl smime -verify -in test1.tmp -CAfile "A.pem" -out notes1.txt -- FAILS

openssl smime -verify -in test1.tmp -CAfile "B.pem" -out notes1.txt -- FAILS

Все 3 попытки ПРОВЕРИТЬ потерпели неудачу со следующей ошибкой:

Verification failure
3672:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:.\crypt
o\pkcs7\pk7_smime.c:342:Verify error:unable to get local issuer certificate

Что я делаю неправильно?

Ответы на вопрос(1)

Ваш ответ на вопрос