Статус: Новичок
Группы: Участники
Зарегистрирован: 15.12.2020(UTC) Сообщений: 2
|
мне нужно пройти сертификацию на сайте https://www.atsenergo.ru...D0%90%D0%98%D0%98%D0%A1. У меня есть файл формата .pfx(КриптоПро), как с помощью python,я могу пройти сертификацию ? Код:
import contextlib
import OpenSSL.crypto
import os
import requests
import ssl
import tempfile
def pfx_to_pem(pfx_path, pfx_password):
''' Decrypts the .pfx file to be used with requests. '''
with tempfile.NamedTemporaryFile(suffix='.pem', delete=False) as t_pem:
t_pem.close()
f_pem = open(t_pem.name, 'wb')
pfx = open(pfx_path, 'rb').read()
p12 = OpenSSL.crypto.load_pkcs12(pfx, pfx_password)
f_pem.write(OpenSSL.crypto.dump_privatekey(OpenSSL.crypto.FILETYPE_PEM, p12.get_privatekey()))
f_pem.write(OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, p12.get_certificate()))
ca = p12.get_ca_certificates()
if ca is not None:
for cert in ca:
f_pem.write(OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, cert))
f_pem.close()
yield t_pem.name
url = 'https://www.atsenergo.ru/%D0%9A%D0%9E%D0%9C%D0%9C%D0%95%D0%A0%D0%A7%D0%95%D0%A1%D0%9A%D0%98%D0%99%D0%A3%D0%A7%D0%95%D0%A2/%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%D0%90%D0%98%D0%98%D0%A1.'
with pfx_to_pem('xxxx.pfx', 'xxxxxxxxx') as cert:
requests.post(url, cert=cert, verify=False)
Выдаёт ошибку: Код: Error: [('digital envelope routines', 'EVP_PBE_CipherInit', 'unknown pbe algorithm'), ('PKCS12 routines', 'PKCS12_pbe_crypt', 'pkcs12 algor cipherinit error'), ('PKCS12 routines',
'PKCS12_item_decrypt_d2i', 'pkcs12 pbe crypt error'), ('PKCS12 routines', 'PKCS12_parse', 'parse error')]
[/h][/h]
Пробовал другой код, выдаёт такую же ошибку. Как я понял, проблема в сертификате, нужно поменять его на другой формат или сделать что-то еще. Отредактировано пользователем 16 декабря 2020 г. 11:55:03(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close