#python #rsa #public-key #pem
Вопрос:
У меня есть следующая строка в python:
pubkey = '-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsFWkb/eSl6I3DRVhaonW3DFy8EnL0yaPiDzCcOLuYfBjN9zZIR1wXmnMJFle1K89qHGg42wgweVTIwA1XFTfoUKSziwsjF6FscZX5H56ZYyS/wWiO3rWWynlfbSZt ga71 ndsu A0Dy7Nn7ZgP8kRsu4UM5vE7QQTRERNiUKpzScN1cgZUFUqSddQmkwTEN8hH1mFX1Mum54NGqWIlmQxQDrOyogmMXIaaakhabcmuIPMULVVDVwUJC9sSDsc/j05qcZn3kkiEBRyiYB6ZLY2W7WfiV dB7/icPONsYSD0FxHWEGNnbqtiGoNf9WZWtaP o8WMR9sB3GKGVnbLvbQIDAQAB-----END PUBLIC KEY-----'
Я хотел бы знать, как я могу преобразовать его в формат pem, чтобы использовать RSA.importKey(pubkey)
Мне нужно иметь возможность манипулировать переменной pubkey, потому что ее данные могут динамически изменяться пользователем, поэтому я не могу просто изменить строковые данные.
Кто-нибудь знает, как это сделать?
Спасибо!
Комментарии:
1. Ты пользуешься
PyCryptodome
? Если да, то не так лиimport_key
?2. Нам понадобится дополнительная информация о том, с какой ошибкой вы столкнулись при импорте существующей строки в кодировке PEM? Если вы получили ответ
RSA Key format error
, это, вероятно, потомуn
, что в вашей строке нет разделителей3. При кодировке PEM верхний и нижний колонтитулы находятся в отдельных строках, а в теле с кодировкой Base64 после каждых 64 символов есть разрыв строки. Для
importKey()
этого достаточно, чтобы верхний и нижний колонтитулы находились в отдельных строках.importKey()
иimport_key()
работают оба.