Формат ключей RSA не поддерживается для python, сохраненных в djagno
Когда пользователи регистрируются в моем приложении, я добавляю новый закрытый ключ и открытый ключ в профиль каждого пользователя.
import Crypto
from Crypto.PublicKey import RSA
from Crypto.Hash import SHA256
from Crypto.Cipher import PKCS1_OAEP
from Crypto import Random
recipient = get_object_or_404(User, email=request.POST.get('email'))
random = Random.new().read
private_key = RSA.generate(1024, random)
public_key = private_key.publickey()
recipient.private_key = private_key.exportKey('PEM')
recipient.public_key = public_key.exportKey('PEM')
recipient.save()
и затем я получаю открытый ключ для шифрования сообщения для пользователя из фонового процесса следующим образом.
user = User.objects.get(id=xyz)
pvt_key = RSA.importKey(user.private_key)
и выдает такую ошибку:
ValueErro
RSA key format is not supported
В базе данных открытый ключ был сохранен таким образом:
b'-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDxcmh0/JQ+2WrpP/1PuSotY7+B\nghEzIjVrqN+rLwSrgzowKIU8Ch3sUMynE2XNgpN6jMiv/Jjb0odptuWwSoZg/NYR\necIr0eLuYIN1R3zic7OwCy86DcML/bNAer89NEk5XHmC5goRZJFn8B+nPyeaQ4Uw\n7JXqmMcCCYflpr9X/QIDAQAB\n-----END PUBLIC KEY-----'
Может ли кто-нибудь сказать мне, что там не так? Как я могу решить эту проблему?