Генерация RSA и запись в файл - PullRequest
0 голосов
/ 19 марта 2019

почему я получаю исключение в этом коде: Я получаю вывод:

[*] Ошибка создания ключа

[*] Ошибка создания вашего ключа

import os, hashlib
from Crypto.Cipher import AES
from Crypto.PublicKey import RSA

raw_key = RSA.generate(2048)
private_key = raw_key.exportKey('PEM')
try:
with open('master_private.pem', 'w+') as keyfile:
    keyfile.write(private_key)
    keyfile.close()
print ("[*] Successfully created your MASTER RSA private key")
except:
print ("[*] Error creating your key")

make_public = raw_key.publickey()
public_key = make_public.exportKey('PEM')
try:
with open("master_public.pem", "w+") as keyfile:
    keyfile.write(public_key)
    keyfile.close()
print ("[*] Successfully created your MASTER RSA public key")
except:
print ("[*] Error creating your key")

Файл успешно создан, но ничем не заполнен. Я только начинаю Python.

1 Ответ

1 голос
/ 19 марта 2019

Вы должны поймать исключение и показать, что знаете проблему, но я думаю, что ваша проблема - метод записи, private_key - его байты, но вы должны передать str, чтобы записать метод, который вы можете попробовать:

   keyfile.write(private_key.decode())

другая проблема может быть вашими правами доступа, возможно, у вас нет разрешения на создание файла, попробуйте перехватить и распечатать, чтобы узнать, что происходит

try:
    with open('master_private.pem', 'w+') as keyfile:
    keyfile.write(private_key)
    keyfile.close()
    print ("[*] Successfully created your MASTER RSA private key")
except Exception as e:
    print ("[*] Error creating your key", e)

также проверьте синтаксис, почему этот код не проверен

...