0
python-ldapを使用しているときにldap.OPT_X_TLS_REQUIRE_CERTをldap.OPT_X_TLS_NEVERに設定していますが、まだTLSエラーが発生します。私はldap.set_optionとあなたが以下で見るバージョンを試しました。両方とも同じエラーが発生します。ldap.OPT_X_TLS_REQUIRE_CERTがldap.OPT_X_TLS_NEVERに設定されている場合のPython LDAP TLSエラー
class adldap_connection:
def __init__(self, configuration, secure):
self.configuration = configuration
self.secure = secure
self.ldap_host_template = string.Template(self.configuration['host'])
if self.secure:
self.ldap_host = self.ldap_host_template.substitute(port=self.configuration['secure_port'])
else:
self.ldap_host = self.ldap_host_template.substitute(port=self.configuration['standard_port'])
def __enter__(self):
try:
self.ld = ldap.initialize(self.ldap_host)
if self.configuration['verify_ssl']['verify']:
self.ld.set_option(ldap.OPT_X_TLS_CACERTFILE, self.configuration['verify_ssl']['use'])
print "ldap.OPT_X_TLS_CACERTFILE = %d" % ldap.OPT_X_TLS_CACERTFILE
else:
self.ld.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
print "ldap.OPT_X_TLS_REQUIRE_CERT = %d" % ldap.OPT_X_TLS_REQUIRE_CERT
print "ldap.OPT_X_TLS_NEVER = %d" % ldap.OPT_X_TLS_NEVER
#ldap.set_option(ldap.OPT_X_TLS_NEWCTX, 0)
self.ld.simple_bind_s(self.configuration['binduser'], self.configuration['bindpassword'])
except ldap.LDAPError, error_message:
print "Couldn't Connect. %s " % error_message
print "Using CA: %s" % self.configuration['verify_ssl']['use']
if (self.configuration['verify_ssl']['use']):
print "File exists: %s" % os.path.exists(self.configuration['verify_ssl']['use'])
return self.ld
def __exit__(self, exc_type, exc_value, traceback):
self.ld.unbind_s()
私のpython-LDAPメーリングリストから、この例外
ldap.OPT_X_TLS_REQUIRE_CERT = 24582
ldap.OPT_X_TLS_NEVER = 0
Couldn't Connect. {'info': "TLS error -8179:Peer's Certificate issuer is not recognized.", 'desc': "Can't contact LDAP server"}