我的 LDAP 身份验证停止工作并出现以下错误:
{'info': 'The signature algorithm is not supported.', 'desc': "Can't contact LDAP server"}
它以前可以工作,并且相同的代码仍然可以在 OSx 和 RHEL7 上工作。它在我的 Ubuntu 14.04 上不起作用。
下面的代码模仿了这个问题:
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
l = ldap.initialize(url)
l.simple_bind_s(username,pwd)
我知道这使用自签名证书。我想知道该证书是否存在物理位置。删除它可能会解决问题。
任何帮助,将不胜感激。
编辑:
正如 Julien 所建议的,这看起来更像是一个 LDAP 问题......使用 ldapsearch 我得到了相同的错误消息:
$ ldapsearch -H ldaps://xxx.xxx.gov/ -b "OU=xxx" -x -d1
ldap_url_parse_ext(ldaps://xxx.xxx.gov/)
ldap_create
ldap_url_parse_ext(ldaps://xxx.xxx.gov:636/??base)
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP xxx.xxx.gov:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 128.219.164.41:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
TLS: can't connect: The signature algorithm is not supported..
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)