M2Crypto, шифровать и подписывать сразу? - PullRequest
1 голос
/ 12 марта 2011

Это может быть что-то очевидное, что я скучаю.

Я бы хотел, чтобы мой хост шифровал сообщение клиенту с помощью открытого ключа клиента, а также чтобы это сообщение было подписано с использованием закрытого ключа хоста.

Это кажется очевидным сценарием, но, возможно, моя концепция просто неверна. Я думаю, что вы должны иметь возможность делать с одним сообщением, так же, как вы видите, используя PGP. Можно ли это сделать с помощью M2Crypto легко?

Я попытался сначала зашифровать сообщение, а затем подписать его, но получаю сообщение «RSAError: digest слишком большой для ключа rsa».

Я бы не стал отправлять зашифрованное сообщение и его подпись в виде двух отдельных частей данных.

Edit: В настоящее время я использую собственный разделитель, чтобы отделить сообщение от подписи, но я чувствую, что это дурной тон и что в формате должны быть условия для того, что я пытаюсь.

1 Ответ

1 голос
/ 17 марта 2011

Звучит так, будто вы ищете гибридную криптосистему , которая вместе заботится о шифровании и подписи, используя соответствующие крипто-примитивы, чтобы она могла работать независимо от размера данных, и инкапсулируя все компоненты криптограммы в одном месте. PGP, HTTPS и DHIES являются хорошими примерами. Хотя мне кажется, что вы могли бы реализовать такую ​​систему, используя m2crypto, вы, вероятно, не должны; вам гораздо лучше использовать существующий протокол, чем использовать собственный. Слишком легко совершать ошибки, которые трудно обнаружить, и делает безопасность бесполезной.

...