У меня есть сертификат 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 для сертификата перед чтением или открыть его, но выдается та же ошибка
Любая помощь будет оценена
Спасибо