30.4.2.4. 証明書のサブジェクト名での IP アドレスの使用
サーバー名の代わりに
ldap_uri
オプションで IP アドレスを使用すると、TLS/SSL 接続が失敗する場合があります。TLS/SSL 証明書には、IP アドレスではなくサーバー名が含まれます。ただし、証明書の サブジェクト代替名 フィールドを使用してサーバーの IP アドレスを含めることができます。これにより、IP アドレスを使用したセキュアな接続に成功します。
- 既存の証明書を証明書要求に変換します。署名鍵(
-signkey
)は、最初に証明書を発行した CA の発行者の鍵です。これを外部 CA で実行する場合は、別の PEM ファイルが必要になります。証明書が自己署名されている場合は、これが証明書自体になります。以下に例を示します。openssl x509 -x509toreq -in old_cert.pem -out req.pem -signkey key.pem
自己署名証明書の場合:openssl x509 -x509toreq -in old_cert.pem -out req.pem -signkey old_cert.pem
/etc/pki/tls/openssl.cnf
設定ファイルを編集して、[ v3_ca ]
セクションにサーバーの IP アドレスを追加します。subjectAltName = IP:10.0.0.10
- 生成された証明書要求を使用して、指定された IP アドレスで新しい自己署名証明書を生成します。
openssl x509 -req -in req.pem -out new_cert.pem -extfile ./openssl.cnf -extensions v3_ca -signkey old_cert.pem
-extensions
オプションは、証明書で使用する拡張を設定します。そのためには、適切なセクションを読み込むために v3_ca である必要があります。 old_cert.pem
ファイルからnew_cert.pem
ファイルに秘密鍵ブロックをコピーし、関連するすべての情報を 1 つのファイルに保持します。
nss-tools パッケージが提供する certutil ユーティリティーを使用して証明書を作成する場合は、certutil は証明書作成の DNS サブジェクト代替名のみをサポートすることに注意してください。