正常に動作する Python を使用して Active Directory サーバーにクエリを実行しようとしました。しかし、暗号化されていない資格情報をネットワーク上で送信したくないので、LDAP を使用したいと考えています。これを行う簡単な方法はありますか?これまでに見つけたのは、このオプションを追加する必要があるということだけでした:
l.set_option(ldap.OPT_X_TLS_CACERTFILE,'/path/to/my/Ca.pem')
しかし、実際には、CA証明書または正しい証明書を取得して、それを検証したくありません。確かに、セキュリティの観点から、通信パートナーが正しいことを確認する必要がありますが、内部ネットワークは気にせず、これをより簡単に処理したいと考えています。LDAP URL を ldap から ldaps に変更すると、次のエラーが発生します。
Traceback (most recent call last):
File "./ldap-to-sql.py", line 21, in <module>
bind = l.simple_bind_s(USERNAME, PASS)
File "/usr/local/lib/python2.7/site-packages/ldap/ldapobject.py", line 214, in simple_bind_s
msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
File "/usr/local/lib/python2.7/site-packages/ldap/ldapobject.py", line 208, in simple_bind
return self._ldap_call(self._l.simple_bind,who,cred,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
File "/usr/local/lib/python2.7/site-packages/ldap/ldapobject.py", line 106, in _ldap_call
result = func(*args,**kwargs)
ldap.SERVER_DOWN: {'info': 'SSLHandshake() failed: misc. bad certificate (-9825)', 'desc': "Can't contact LDAP server"}