Преобразуйте строку открытого ключа в формат pem с помощью python

#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() работают оба.