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
Что я делаю неправильно?