<div dir="ltr">Hi,<div><br></div><div>I am able to make a connection to my LDAPS server with my own certificate setting the following option on Linux</div><div>ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, CACERTFILE)<br></div><div><br></div><div>However, on Windows the same approach fails with </div><div><div>SERVER_DOWN: {'info': 'error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed (unable to get issuer certificate)', 'desc': "Can't contact LDAP server"}</div></div><div><br></div><div>It seems that either python-ldap can't follow the Windows based path to the certificate OR python-ldap has a hard dependency on a Linux library that isn't available on Windows.</div><div><br></div><div>Any help getting this working on Windows is appreciated. Here's a larger snippet from my script</div><div><br></div><div><div>try:</div><div>    ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, pathtocacertfile)</div><div>    ld = ldap.initialize(host)</div><div>    ld.simple_bind_s(binduser,bindpw)</div><div>except ldap.LDAPError, error_message:</div><div>    print "Couldn't Connect. %s " % error_message</div><div><br></div><div>filter = ('(userPrincipalName=<a href="mailto:aperson@example.com">aperson@example.com</a>)')</div><div>attrs = ['cn']</div><div><br></div><div>r = ld.search_s(base, scope, filter, attrs)</div></div><div><br></div><div><br></div><div><div>Couldn't Connect. {'info': 'error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed (unable to get issuer certificate)', 'desc': "Can't contact LDAP server"} </div><div>Traceback (most recent call last):</div><div>  File "C:\Users\watrous\Documents\GitHub\helion-onboarding-automation\test-ad.py", line 23, in <module></div><div>    r = ld.search_s(base, scope, filter, attrs)</div><div>  File "C:\Python27\lib\site-packages\ldap\ldapobject.py", line 597, in search_s</div><div>    return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)</div><div>  File "C:\Python27\lib\site-packages\ldap\ldapobject.py", line 590, in search_ext_s</div><div>    msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit)</div><div>  File "C:\Python27\lib\site-packages\ldap\ldapobject.py", line 586, in search_ext</div><div>    timeout,sizelimit,</div><div>  File "C:\Python27\lib\site-packages\ldap\ldapobject.py", line 106, in _ldap_call</div><div>    result = func(*args,**kwargs)</div><div>SERVER_DOWN: {'info': 'error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed (unable to get issuer certificate)', 'desc': "Can't contact LDAP server"}</div></div><div><br></div></div>