1.8. Directory Server が使用する CA 証明書の Red Hat Enterprise Linux のトラストストアへの追加
Directory Server で TLS 暗号化を有効にすると、CA が発行した証明書を使用するようにインスタンスを設定します。クライアントが LDAPS プロトコルまたは LDAP 上の STARTTLS
コマンドを使用してサーバーへの接続を確立する場合、Directory Server はこの証明書を使用して接続を暗号化します。クライアントユーティリティーは CA 証明書を使用して、サーバーの証明書が有効であるかどうかを確認します。デフォルトでは、これらのユーティリティーは、サーバーの証明書を信頼していない場合に接続を取り消します。
例1.1 クライアントユーティリティーが CA 証明書を使用しない場合の接続エラーの可能性
dsconf
#
dsconf -D "cn=Directory Manager" ldaps://server.example.com:636 config get
Error: {'desc': "Can't contact LDAP server", 'info': 'error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (self signed certificate in certificate chain)'}ldapsearch
#
ldapsearch -H ldaps://server.example.com:636 -D "cn=Directory Manager" -W -b "dc=example,dc=com" -x
Enter LDAP Password: ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
Red Hat Enterprise Linux でクライアントユーティリティーを有効にして Directory Server が使用する証明書を検証するには、オペレーティングシステムのトラストストアに CA 証明書を追加します。
前提条件
ネットワークセキュリティーサービス (NSS) データベースのパスワードを知っている。
Directory Server インスタンスのインストール時に生成されたパスワードを使用する場合は、
/etc/dirsrv/slapd-instance_name/pwdfile.txt
ファイルでこのパスワードをプレーンテキストで特定する。
手順
Directory Server が使用する CA 証明書のローカルコピーがない場合は、以下を実行します。
サーバーのネットワークセキュリティーサービス (NSS) データベースで証明書をリスト表示します。
#
certutil -d /etc/dirsrv/slapd-instance_name/ -L
Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI Example CA C,, Server-Cert u,u,uNSS データベースの CA 証明書のニックネームを使用して、CA 証明書をエクスポートします。
#
certutil -d /etc/dirsrv/slapd-instance_name/ -L -n "Example CA" -a > /tmp/ds-ca.crt
CA 証明書を
/etc/pki/ca-trust/source/anchors/
ディレクトリーにコピーします。#
cp /tmp/ds-ca.crt /etc/pki/ca-trust/source/anchors/
CA 信頼データベースを再構築します。
#
update-ca-trust
検証
LDAPS プロトコルを使用して Directory Server への接続を確立します。たとえば、クエリーを実行します。
#
ldapsearch -H ldaps://server.example.com:636 -D "cn=Directory Manager" -W -b "dc=example,dc=com" -x -s base
関連情報
-
update-ca-trust(8)
の man ページ