这可能是我遗漏的一些明显的东西。
我想让我的主机使用客户端的公钥加密发送给客户端的消息,并使用主机的私钥对该消息进行签名。
这似乎是一个显而易见的场景,但也许我的概念根本就是错误的。我认为您应该能够使用一条消息来完成,就像您使用 PGP 所看到的那样。使用 M2Crypto 可以轻松完成此操作吗?
我尝试先加密消息,然后对其进行签名,但收到消息“RSAError:摘要对于 rsa key 来说太大”。
我不想将加密消息及其签名作为两个单独的数据发送。
编辑: 目前我正在使用自定义分隔符,将消息与签名分开,但我觉得这是不好的形式,并且该格式应该对我正在尝试的内容进行规定。
最佳答案
听起来您正在寻找一种混合加密系统,它可以同时处理加密和签名,使用适当的加密原语使其能够工作,无论数据大小如何,并封装所有密码的组成部分集中在一处。 PGP、HTTPS 和 DHIES 就是很好的例子。虽然在我看来您可以使用 m2crypto 实现这样的系统,但您可能不应该;重用现有协议(protocol)比推出自己的协议(protocol)要好得多。很容易犯一些难以发现的错误,从而使安全性变得毫无用处。
关于python - M2Crypto,立即加密和签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5279102/