第20章 IdM レプリカでまだ有効期限が切れていない場合の Web サーバーと LDAP サーバーの証明書の置き換え
Identity Management (IdM) システム管理者は、IdM サーバーで実行している Web (または httpd) サービスおよび LDAP (または Directory) サービスの証明書を手動で置き換えることができます。たとえば、証明書の有効期限が近づいていて、certmonger ユーティリティーが証明書を自動的に更新するように設定されていない場合、または証明書が外部の認証局 (CA) によって署名されている場合に、これが必要になることがあります。
この例では、server.idm.example.com IdM サーバーで実行しているサービスの証明書をインストールします。外部 CA から証明書を取得する。
HTTP サービス証明書と LDAP サービス証明書には異なる IdM サーバーに異なるキーペアとサブジェクト名があるため、各 IdM サーバーで証明書を個別に更新する必要があります。
前提条件
-
IdM サーバーが複製合意を持つトポロジー内の少なくとも 1 つの他の IdM レプリカで、Web および LDAP 証明書は引き続き有効です。これは
ipa-server-certinstallコマンドの前提条件です。このコマンドは、他の IdM レプリカと通信するためにTLS接続を必要とします。ただし、証明書が無効な場合、そのような接続は確立できず、ipa-server-certinstallコマンドは失敗します。その場合は、IdM デプロイメント全体で期限切れになった Web サーバーと LDAP サーバーの証明書を置き換える を参照してください。 -
IdM サーバーへの
rootアクセス権限がある。 -
Directory Managerパスワードを把握している。 - 外部 CA の CA 証明書チェーンを保存しているファイル (ca_certificate_chain_file.crt) にアクセスできる。
手順
ca_certificate_chain_file.crt に含まれる証明書を、追加の CA 証明書として IdM にインストールします。
ipa-cacert-manage install
# ipa-cacert-manage installCopy to Clipboard Copied! Toggle word wrap Toggle overflow ca_certicate_chain_file.crt からの証明書を使用して、ローカルの IdM 証明書データベースを更新します。
ipa-certupdate
# ipa-certupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenSSLユーティリティーを使用して、秘密鍵と証明書署名要求 (CSR) を生成します。openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout new.key -out new.csr -addext "subjectAltName = DNS:server.idm.example.com" -subj '/CN=server.idm.example.com,O=IDM.EXAMPLE.COM'
$ openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout new.key -out new.csr -addext "subjectAltName = DNS:server.idm.example.com" -subj '/CN=server.idm.example.com,O=IDM.EXAMPLE.COM'Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSR を外部 CA に送信します。このプロセスは、外部 CA として使用するサービスにより異なります。CA が証明書に署名したら、証明書を IdM サーバーにインポートします。
IdM サーバーで、Apache Web サーバーの古い秘密鍵および証明書を、新しい鍵と、新しく署名した証明書に置き換えます。
ipa-server-certinstall -w --pin=password new.key new.crt
# ipa-server-certinstall -w --pin=password new.key new.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドでは、以下のようになります。
-
-wオプションは、Web サーバーに証明書をインストールすることを指定します。 -
--pinオプションは、秘密鍵を保護するパスワードを指定します。
-
-
プロンプトが表示されたら、
Directory Managerパスワードを入力します。 LDAP サーバーの古い秘密鍵および証明書を、新しい鍵と、新しく署名した証明書に置き換えます。
ipa-server-certinstall -d --pin=password new.key new.cert
# ipa-server-certinstall -d --pin=password new.key new.certCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドでは、以下のようになります。
-
-dオプションは、LDAP サーバーに証明書をインストールすることを指定します。 -
--pinオプションは、秘密鍵を保護するパスワードを指定します。
-
-
プロンプトが表示されたら、
Directory Managerパスワードを入力します。 httpdサービスを再起動します。systemctl restart httpd.service
# systemctl restart httpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Directoryサービスを再起動します。systemctl restart dirsrv@IDM.EXAMPLE.COM.service
# systemctl restart dirsrv@IDM.EXAMPLE.COM.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow サーバー上で subCA が削除または置き換えられている場合は、クライアントを更新します。
ipa-certupdate
# ipa-certupdateCopy to Clipboard Copied! Toggle word wrap Toggle overflow