Я пытаюсь генерировать CSR в Python, не используя OpenSSL. Если бы кто-то мог бы указать в правильном направлении, я был бы очень благодарен.
Как и любой язык, Python просто реализует алгоритмы. Я почти ничего не знаю о криптографии, но если бы мне пришлось реализовать это на Python, я бы поискал спецификацию по реализации CSR.
Через Google и Wikipedia я нашел этот RFC. Вашей задачей будет реализовать это в Python.
Лично я бы сначала попытался использовать инструмент командной строки (возможно, через вызов функции system()
, если это нужно из Python).
m2crypto может быть решением (см. CreateX509Request в примере contrib ), хотя он полагается на OpenSSL.
Вы также можете использовать python-nss , который использует библиотеку NSS Mozilla . nss.nss.CertificateRequest
был добавлен совсем недавно. Документация по API, доступная в настоящий момент на веб-сайте, не обновлена, но вот несколько указателей на новые версии:
Он также находится в CVS:
:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot/mozilla/security/python/nss