Не удается проверить openssl smime через SSH

Я пытаюсь подключиться по SSH к серверу в моем университете, чтобы выполнить задание OpenSSL. У меня есть самоподписанный сертификат aasignedcert.pem, закрытый ключ, который был подписан aaprivatekey.pem, и мой открытый текст test.txt.

Сначала я подписал свое сообщение для создания файла testsigned.txt с помощью команды:

openssl smime -sign -signer aasignedcert.pem -in test.txt -inkey aaprivatekey.pem > testsigned.txt

Затем зашифровал файл, чтобы сделать testsigned.txt.enc:

openssl smime -encrypt -in testsigned.txt -aes128 aasignedcert.pem > test.txt.enc

Чтобы убедиться, что все работает, я расшифровал этот файл и сохранил его в testsigned.dec.txt:

openssl smime -decrypt -aes128 -in test.txt.enc -inkey aaprivatekey.pem > test.dec.txt

Расшифрованный файл действительно имеет исходный открытый текст. Наконец, я попытался проверить это, используя свой сертификат, которым я его подписал:

openssl smime -verify -in test.dec.txt -CAfile aasignedcert.pem -certfile aasignedcert.pem

Однако это не работает. Даже при изменении параметров я постоянно получаю это сообщение об ошибке:

Verification failure 139814549997256:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:pk7_smime.c:342:Verify error:unable to get local issuer certificate

Я не могу понять, что я делаю неправильно. У кого-нибудь есть идея?


person William Thomas    schedule 21.02.2013    source источник


Ответы (2)


Как вы создали aasignedcert.pem? Возможно, вы подписали его самостоятельно, используя созданный вами локальный ЦС? Если это так, я считаю, что вам нужно передать сертификат центра сертификации в аргумент -CAfile.

openssl smime -verify -in test.dec.txt -CAfile [сертификат центра сертификации] -certfile aasignedcert.pem

person mikey    schedule 21.02.2013
comment
Ага, совсем пропустил. Я знал, что это что-то простое. Спасибо! - person William Thomas; 21.02.2013

Чтобы подавить проверку сертификата ключа при проверке сообщения, вы можете указать параметр -noverify для команды verify (хотя openssl smime verify -noverify выглядит немного странно).

person user2834179    schedule 16.01.2018