Я работаю со службой, которая использует необработанный RSA с закрытым ключом для подписи полезной нагрузки. Данные эффективно создаются с использованием:
openssl rsautl -inkey private_key.pem -raw -sign
(Также результат шифрования закрытым ключом)
К сожалению, в Pycrypto соответствующий метод .verify()
принимает аргумент только для проверки данных, чтобы вернуть true или false.
В openssl это может быть достигнуто одним из следующих способов:
# Private key based
openssl rsautl -inkey private_key.pem -raw -verify
# Public key based
openssl rsautl -inkey public_key.pem -pubin -raw -verify
Как я могу добиться той же функциональности в Pycrypto?
(Я понимаю риски необработанного RSA. Для снижения некоторых из этих рисков был реализован специальный механизм заполнения. К сожалению, изменить текущую реализацию невозможно)
ctypes
. Тем не менее, вам нужно договориться о кроличьем лабиринте документации и заголовочных файлов OpenSSL. ;) Вот пример, показывающий, как таким образом выполнять некоторые простые задачи AES. - person PM 2Ring   schedule 16.01.2018