Проверка данных с помощью openssl smime не удалась

Я использую openssl smime для подписи и проверки данных.

Чтобы подписать текстовый файл с помощью openssl, я использую следующую команду:

openssl smime -sign -in sample.txt -out mail.msg -signer cert.pem -inkey key.pem

Затем перехожу к проверке:

openssl smime -verify -in mail.msg -CAfile allCA.pem

Проверка прошла успешно.

Моя проблема в том, что у меня есть внешний инструмент, который выполняет проверку с помощью следующей команды:

openssl smime -verify -in mail.msg -inform DER -CAfile allCA.pem

Как подписать мой текстовый файл, чтобы его можно было проверить с помощью предыдущей команды?

Что я пробовал на данный момент:

openssl smime -sign -in sample.txt -out mail.msg -outform DER -signer cert.pem -inkey key.pem

Но я получаю сообщение об ошибке при проверке почты:

Verification failure
140204331579208:error:2107507A:PKCS7 routines:PKCS7_verify:no content:pk7_smime.c:291:

person TheByeByeMan    schedule 19.01.2017    source источник


Ответы (1)


То, как вы вызываете операцию со знаком, создает отдельную подпись, поэтому вам нужно будет передать -content sample.txt для проверки команды. Однако можно создать структуру, которая инкапсулирует сообщение вместе с подписью (параметр -nodetach).

Это знаковая команда, которую вы ищете:

openssl smime -sign -in data.dat -out mail.msg -signer cert.pem -inkey key.pem -outform DER -nodetach
person Marek Klein    schedule 22.01.2017