Вот как следует подписывать сообщение openssl smime
? согласно документы
openssl smime -sign -in in.txt -text -out mail.msg -signer mycert.pem \
-inkey mykey.pem -certfile mycerts.pem
Но почему есть -signer
ключ с сертификатом - не переданный закрытый ключ -inkey
достаточно для подписи сообщения? Разве это не обычная схема асимметричного шифрования, где мой закрытый ключ предназначен для подписи сообщения, а мой сертификат (т. Е. Подписанный открытый ключ, соответствующий моему закрытому ключу) предназначен для моего двойника для шифрования сообщения?
Это немного сложнее, чем это.
Хотя, по сути, вы МОЖЕТЕ подписывать сообщения случайными ключами без идентификации сертификата, он будет немедленно аннулирован проверяющей стороной.
Для создания законной подписи вам нужен сертификат с соответствующими флагами. Если это прозрачная подпись (перенос), принимающей стороне не потребуется ваш сертификат для чтения содержимого сообщения или оценки целостности сообщения, однако он все равно потребуется для установления подлинности.
Насколько я понял, это вторая сторона для проверки вашей подписи - в случае, если у нее нет этого сертификата.