Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Nikitosar  
#1 Оставлено : 15 декабря 2020 г. 17:32:48(UTC)
Nikitosar

Статус: Новичок

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.