我使用Odoo通过python-ldap
库与Windows Active Directory集成。我们有一个内部组织证书,应该安装在应该连接到AD服务器的系统上。我不通过ldap.set_option
方法控制证书,也不想覆盖这部分代码(Odoo上游代码的一部分)。
在Linux中,只需将CA证书添加到ca-certificates
目录中,一切都可以顺利进行。
在Windows下,将CA证书添加到Windows证书存储不会反映python-ldap
,并给我错误:
CONNECT_ERROR: {'info': 'error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed (unable to get
local issuer certificate)', 'desc': 'Connect error'}
产生错误的代码如下:
import ldap
uri = 'ldap://<server>:<port>'
conn = ldap.initialize(uri)
conn.start_tls_s()
我还尝试查找libldap
解析以覆盖CA证书目录的配置文件,但找不到相应的/etc/openldap/ldap.conf
的Windows配置文件路径。
软件版本:
- Python:2.7(在虚拟环境中)
- Python LDAP:2.5.2
- 外壳:Git Bash 4.4.23(1)-发布(x86_64-pc-msys)/命令提示符
- 窗口:10
- 气味:10.0
我终于使用这里的文档找到了配置OpenLDAP的Windows路径;对我有用的路径:
~/ldaprc
=C:Users<username>ldaprc
(仅适用于Git Bash)./ldaprc
=<current working directory>ldaprc
(在Git Bash和命令提示符下工作)