Ошибка Python ldap3: проверка сертификата [SSL: CERTIFICATE_VERIFY_FAILED] не удалась: невозможно получить сертификат лоPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Ошибка Python ldap3: проверка сертификата [SSL: CERTIFICATE_VERIFY_FAILED] не удалась: невозможно получить сертификат ло

Сообщение Гость »

Я пытаюсь подключиться к серверу ldap из среды Python с помощью библиотек ldap3 на Mac M1.

Код: Выделить всё

from ldap3 import Server, Connection, SUBTREE, ALL, Tls, MODIFY_REPLACE
from fastapi import FastAPI
from typing import Union
from pydantic import BaseModel
import ssl

app = FastAPI()

tls_configuration = Tls(validate=ssl.CERT_REQUIRED,version=ssl.PROTOCOL_TLSv1_2,ca_certs_file="./app/client_cert.pem")
server = Server("ldaps://ldaps.adserver.com",port=636,use_ssl=True,tls=tls_configuration, get_info=ALL)
conn = Connection(server, user='mydomain.com\user', password='DemoPass%',auto_bind=True,authentication="NTLM")
print(f"Connection: {conn}")
Я извлек сертификат с помощью приведенной ниже команды и сохранил --Begin Certificate-- --End Certificate-- в файле формата .pem в папке приложения.

Код: Выделить всё

openssl s_client -connect ldaps.adserver.com:636
При попытке проверить соединение я все еще получаю сообщение об ошибке недействительного сертификата.

Код: Выделить всё

Traceback (most recent call last):
File "/Users/demo/Documents/GitHub/project/app/main.py", line 13, in 
conn = Connection(server, user='domain\user', password='DemoPass%',auto_bind=True,authentication="NTLM")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/demo/anaconda3/lib/python3.11/site-packages/ldap3/core/connection.py", line 363, in __init__
self._do_auto_bind()
File "/Users/demo/anaconda3/lib/python3.11/site-packages/ldap3/core/connection.py", line 387, in _do_auto_bind
self.open(read_server_info=False)
File "/Users/demo/anaconda3/lib/python3.11/site-packages/ldap3/strategy/sync.py", line 57, in open
BaseStrategy.open(self, reset_usage, read_server_info)
File "/Users/demo/anaconda3/lib/python3.11/site-packages/ldap3/strategy/base.py", line 146, in open
raise exception_history[0][0]
ldap3.core.exceptions.LDAPSocketOpenError: ("('socket ssl wrapping error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)',)",)
Как проверить, действителен ли созданный мной файл .pem, и как его использовать в Python ldap3.

Подробнее здесь: https://stackoverflow.com/questions/781 ... ify-failed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»