セキュリティのために StartTLS 拡張機能を使用して、ポート 389のみをリッスンする LDAP サーバーにアクセスするようにアプリケーションを構成しようとしています。SSL 証明書のコピーを取得して、それを既知の証明書として指定できるようにしたいと考えています (私のアプリケーションは Java で記述されているため、jssecacerts ファイルで)。
ポート 636 で実行されている場合は、次のように openssl を使用します。
openssl s_client -host myhost -port 636
出力から証明書を取得します。
私の最初のことは、使用してみることでした:
openssl s_client -host myhost -port 389 -starttls ...
しかし、それは starttls の LDAP バージョンをサポートしていません。
次に、高デバッグ レベルで ldapsearch を使用してみました。
ldapsearch -ZZ -h myhost -d99 ...
送信データに証明書が含まれていることがわかりましたが、使用方法を知っている形式ではありません。
コマンド ライン ツールまたは短いプログラムを使用して証明書を取得する簡単な方法はありますか? (どの言語かは特に気にしませんが、Java が理想的です)