eth0.pro

Linux is working. The future is open.



При создании какого-либо проекта Вам может потребоваться генерация пары RSA-ключей для подписи документов, файлов и т. д. У меня появилась такая же необходимость и сейчас расскажу как я делал сие на Python (а конкретнее - в Django, но какая разница).

Для начала нам понадобится библиотека Python-RSA. Ставим ее (должны быть права root'а):

pip install rsa

Далее листинг самого процесса:

# Импортим библиотеку:
import rsa

# Генерируем ключи. В скобках 1024 — "битность" ключа,
# key_pub и key_class — экземпляры классов из библиотеки Python-RSA, которые хранят получившиеся ключи:
(key_pub, key_private) = rsa.newkeys(1024)

# Выводим ключи в текстовом виде:
print key_pub.save_pkcs1()
print key_private.save_pkcs1()

# Если нужно их получить без комментариев одной строкой, я сделал так:
key_pub = key_pub.save_pkcs1().replace("-----BEGIN RSA PUBLIC KEY-----", "").replace("-----END RSA PUBLIC KEY-----", "").replace("\n","")
key_private = key_private.save_pkcs1().replace("-----BEGIN RSA PRIVATE KEY-----", "").replace("-----END RSA PRIVATE KEY-----", "").replace("\n","")

Вот так все просто. Далее с полученными key_pub и key_private Вы можете делать что хотите, сохранить в базе данных, вывести в файл или просто print'ануть на стандартный вывод.

31 янв 2013 г. | Теги: Python