第四回 一人 OpenLDAP 勉強会

python-ldap をつかってみる

使ってみたことが無いので、とりあえず使ってみました。

python-ldap で StartTLS やってみる。

python-ldap をインストールしましょう。
setup.cfg がポイントです。
sasl や openssl は入れておきましょう。

import ldap
import sys

i = ldap.initialize("ldap://172.16.182.129:389")
i.protocol_version = ldap.VERSION3

try:
  i.start_tls_s()
except ldap.LDAPError, e:
  print e

try:
  i.simple_bind_s('','')
except ldap.NO_SUCH_OBJECT, e:
  i.unbind_s()
  print e
except ldap.INVALID_CREDENTIALS, e:
  i.unbind_s()
  print e
except ldap.LDAPError, e:
  i.unbind_s()
  print e

print i.search_s("dc=example,dc=com", ldap.SCOPE_SUBTREE, "objectclass=*")

i.unbind_s()

さくっとできます。

tcpdump で暗号化されているかどうか確認してみましょう。

感想

  • python-ldap マニュアルなさ過ぎ。
  • 結局ソースから start_tls_s を探し出した。
  • python-ldap は ldif とかもさわれるよう。