Как зашифровать с помощью открытого ключа? - PullRequest
5 голосов
/ 21 сентября 2009
msg = "this is msg to encrypt"

pub_key = M2Crypto.RSA.load_pub_key('mykey.py') // This method is taking PEM file.

encrypted = pub_key.public_encrypt(msg, M2Crypto.RSA.pkcs1_padding) 

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

Есть ли в Python API какой-либо другой метод, который может зашифровать msg с помощью открытого ключа после попытки какого-либо механизма?

Я получаю свой открытый ключ с сервера открытого ключа в некоторой HTML-оболочке и в формате radix64. Как я могу преобразовать открытый ключ, чтобы он мог быть принят любым методом шифрования?

Ответы [ 3 ]

6 голосов
/ 15 сентября 2011

В случае, если кто-то ищет этот вопрос, я получаю то же сообщение об ошибке:

M2Crypto.RSA.RSAError: no start line

В моем случае оказалось, что мои ключи были типа Unicode. Это было решено преобразованием ключа обратно в ascii:

key.encode('ascii')
1 голос
/ 21 сентября 2009

Вы задавали этот вопрос раньше? Смотрите мой ответ на этот вопрос,

как преобразовать открытый ключ base64 / radix64 в формат pem в python

0 голосов
/ 01 октября 2009

Произошла ошибка где-то в открытом ключе. Похоже, это открытый ключ PGP, но с разной длиной строки, поэтому его нельзя использовать напрямую как открытый ключ RSA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...