Я реализовал клиент SOAP на python с библиотекой zeep. Для некоторых конечных точек требуется аутентификация сертификата на стороне клиента, поэтому необходимо прикрепить сертификат к сеансу запросов python. Погуглив, я придумал:
from zeep import Client
from zeep.transports import Transport
from django.utils import timezone
import requests
......
session = requests.Session()
session.verify = False
session.cert= ('pat_to_cert.pem','path_to_privKey.pem')
transport = Transport(session=session)
....
client = Client(wsdl=wsdl, transport=transport)
send = getattr(service, service_name)
result = send(**data)
При отладке рукопожатия TLS сервер отправляет запрос сертификата, но клиент отвечает пустым сертификатом. Я уже проверил файлы .pem с помощью openssl без ошибок.
Возможно ли, что запросы python не прикрепляют сертификат, потому что он не распознает имя сервера? Как я могу заставить использовать этот сертификат для каждого запроса?