Прочитайте PKCS12 в Python 3 - PullRequest
       0

Прочитайте PKCS12 в Python 3

0 голосов
/ 27 октября 2018

У меня есть сертификат p12, необходимый для подписания электронных счетов в моей стране. Сертификат P12 сохраняется в поле базы данных postgress как двоичный файл. Я пытаюсь загрузить и прочитать этот сертификат, используя crypto из openssl, вот что я делаю:

   try:
        import xmlsig
        from OpenSSL import crypto
    except(ImportError, IOError) as err:
        logging.info(err)

ТЕСТ 1

Я получаю ошибку OSError: [Errno 36] Имя файла слишком длинное:

certificate = crypto.load_pkcs12(open(cert, 'rb').read(), password)

ТЕСТ 2

Также я получаю ошибку OSError: [Errno 36] Имя файла слишком длинное:

certificado2 = base64UTF8Decoder(cert)
 with open(certificado2, 'rb') as b:
priv2 = b.read()

Если я установил точку останова и проверил переменную Certificado2, я мог бы увидеть что-то вроде этого (текст обрезан)

b'MIIaJAIBAzCCGd4GCSqGSIb3DQEHAaCCGc8EghnLMIIZxzCCBaQGCSqGSIb3DQEHAaCCBZUEggWRMIIFjTCCBYkGCyqGSIb3DQEMCgECoIIE + jCCBPYwKAYKKoZIhvcNAQwBAzAaBBRANQaKOUnWUARlyWJyTV2SGI1DeAICBAAEggTIjecE65xQM3Od + qMZmof5l + WLGEklcL9TsTKq5mBVP + Lf2OX3sAwzfsXzMICL5hAkCGzKvtrnsSjN + QAbvxRsqMMpMa6XImDQwsglVOjkg + '

Также я попытался base64.decode для сертификата перед чтением или открыть его, но выдается та же ошибка

Любая помощь будет оценена

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...