openldap で SSL/TLSを利用しようとすると、当然証明書が必要になります。
そこで、テストのためにオレオレ認証局をたてて、オレオレ証明書を発行するわけですが……
そのままだとldapsearch ldaps://host みたいなことをするとエラーが出ます。
で、
/etc/openldap/ldap.conf
に
TLS_REQCERT never
とか入れちゃうわけですが、これはあんまり筋が良くない気がします。
そこで、オレオレ認証局の証明書を
/etc/openldap/certs/あたりに入れて
ln -s /etc/openldap/certs/オレオレ証明書 /etc/openldap/certs/\`openssl x509 -noout -hash -in /etc/openldap/certs/オレオレ証明書`.0
とかsymlinkを追加しましょう。
あとは
/etc/openldap/ldap.conf
に
TLS_CACERTDIR /etc/openldap/certs/
と書いておきましょう。
これでオレオレ認証局の発行したオレオレ証明書でもエラーが出ません!
(不要になったら証明書とsymlinkを削除しましょう)
なんでsymlinkがいるのかというと、Opensslが証明書を探すときのファイル名が
\`openssl x509 -noout -hash -in オレオレ証明書`.0
だからです。
ハッシュ値が被ったら.1 .2 .3 と増えていくんだろうなって。