M2Crypto,如何同时加密和签名?

1 投票
1 回答
676 浏览
提问于 2025-04-16 13:32

我可能漏掉了一些显而易见的东西。

我想让我的主机用客户端的公钥来加密一条消息,同时还希望用主机的私钥对这条消息进行签名。

这看起来是个很明显的场景,但也许我的想法有问题。我觉得应该可以用一条消息来做到这一点,就像你在使用PGP时看到的那样。请问用M2Crypto可以轻松实现吗?

我先尝试加密消息,然后再签名,但出现了“RSAError: digest too big for rsa key”的错误信息。

我不想把加密后的消息和它的签名分开发送。

编辑:目前我在使用一个自定义的分隔符来把消息和签名分开,但我觉得这样不好,格式应该有办法处理我想做的事情。

1 个回答

1

听起来你在寻找一种混合加密系统,它可以同时处理加密和签名,使用合适的加密方法来确保无论数据多大都能正常工作,并把所有加密信息集中在一个地方。PGP、HTTPS和DHIES都是很好的例子。虽然我觉得你可以用m2crypto来实现这样的系统,但其实你最好还是使用现有的协议,而不是自己去做。因为自己开发很容易出错,而这些错误往往不容易发现,可能会让安全性变得毫无意义。

撰写回答