openssl smime 消息签名:为什么我需要 -certfile 密钥?

openssl smime 消息签名:为什么我需要 -certfile 密钥?

以下是如何使用openssl smime? 签署消息,根据文档

openssl smime -sign -in in.txt -text -out mail.msg -signer mycert.pem \
 -inkey mykey.pem -certfile mycerts.pem

但是为什么会有-signer带证书的密钥——难道私钥传递-inkey还不足以进行消息签名吗?这难道不只是一种通常的非对称加密方案吗?我的私钥用于消息签名,而我的证书(即与我的私钥相对应的签名公钥)用于我的对方加密消息?

答案1

据我所知,这是为了让第二方验证您的签名——以防它没有该证书。

答案2

这比那稍微复杂一些。

虽然从本质上讲,您可以使用随机密钥签署消息,但如果没有证书标识,它将立即被验证方视为无效。

您需要一个带有适当标志的证书才能创建合法签名。如果是透明签名(包装),接收方将不需要您的证书来读取消息内容或评估消息完整性,但是,它仍然需要它来建立真实性。

相关内容