26.2. 証明書の更新

以下の内容に関する説明は、ガイドを参照してください。

26.2.1. 証明書の自動更新

certmonger サービスは、期限が切れる 28 日前に、以下の証明書を自動的に更新します。
  • ルート CA として IdM CA が発行した CA 証明書
  • 内部 IdM サービスが使用する統合 IdM CA により発行されたサブシステムおよびサーバー証明書
サブ CA の CA 証明書を自動的に更新するには、certmonger のトラッキング一覧に追加されている必要があります。トラッキング一覧を更新するには、以下を実行します。
[root@ipaserver ~]# ipa-certupdate
trying https://idmserver.idm.example.com/ipa/json
Forwarding 'schema' to json server 'https://idmserver.idm.example.com/ipa/json'
trying https://idmserver.idm.example.com/ipa/json
Forwarding 'ca_is_enabled' to json server 'https://idmserver.idm.example.com/ipa/json'
Forwarding 'ca_find/1' to json server 'https://idmserver.idm.example.com/ipa/json'
Systemwide CA database updated.
Systemwide CA database updated.
The ipa-certupdate command was successful

注記

外部 CA をルート CA として使用する場合は、「手動での CA 証明書の更新」の説明のように、手動で証明書を更新する必要があります。certmonger サービスは、外部 CA が署名した証明書を自動的に更新できません。
certmonger が証明書の有効期限を監視する方法に関する情報は、『システムレベルの認証ガイド』の「CERTMONGER を使った証明書の追跡」を参照してください。
自動更新が予想どおりに機能していることを確認するには、/var/log/messages ファイルで certmonger のログメッセージを検証します。
  • 証明書が更新されたら、certmonger には更新操作の成功または失敗を示す、以下のようなメッセージが記録されます。
    Certificate named "NSS Certificate DB" in token "auditSigningCert cert-pki-ca" in database "/var/lib/pki-ca/alias" renew success
  • 証明書の有効期限が近づくと certmonger は以下のメッセージをログに記録します。
    certmonger: Certificate named "NSS Certificate DB" in token "auditSigningCert cert-pki-ca" in database "/var/lib/pki-ca/alias" will not be valid after 20160204065136.

26.2.2. 手動での CA 証明書の更新

手作業で更新を行う場合は ipa-cacert-manage を使用することができます。
  • 自己署名の IdM CA 証明書
  • 外部署名の IdM CA 証明書
ipa-cacert-manage renew コマンドで更新された証明書は、以前の証明書と同じキーペアおよびサ発行先名を使用します。証明書を更新しても、証明書のロールオーバーができるように、以前のバージョンは削除されません。
詳細は、ipa-cacert-manage(1) の man ページを参照してください。

26.2.2.1. 自己署名の IdM CA 証明書の手動更新

  1. ipa-cacert-manage renew コマンドを実行します。証明書へのパスの指定は求められません。
  2. 更新済み証明書が LDAP 証明書ストアと /etc/pki/pki-tomcat/alias NSS データベースに現れます。
  3. 全サーバーおよびクライアントで ipa-certupdate ユーティリティーを実行して、LDAP からの新規証明書に関する情報でクライアントを更新します。全サーバーおよびクライアントで個別に ipa-certupdate を実行する必要があります。

    重要

    証明書を手動でインストールした後に ipa-certupdate を必ず実行します。実行しない場合には、証明書が他のマシンに配信されません。
更新した証明書が正しくインストールされていることを確認するには、certutil ユーティリティーを使用して、データベース内の証明書を表示します。以下に例を示します。
# certutil -L -d /etc/pki/pki-tomcat/alias

26.2.2.2. 外部署名の IdM CA 証明書の手動更新

  1. ipa-cacert-manage renew --external-ca コマンドを実行します。
  2. このコマンドでは /var/lib/ipa/ca.crt CSR ファイルを作成します。CSR を外部 CA に送信して、更新した CA 証明書を発行します。
  3. もう一度 ipa-cacert-manage renew を実行し、今度は更新した認証局証明書と外部認証局の証明書チェーンファイルを --external-cert-file オプションを使って指定します。以下に例を示します。
    # ipa-cacert-manage renew --external-cert-file=/tmp/servercert20110601.pem --external-cert-file=/tmp/cacert.pem
  4. これで更新した認証局証明書と外部認証局のチェーンが LDAP 証明書ストア内と /etc/pki/pki-tomcat/alias/ NSS データベースに表示されるようになります。
  5. 全サーバーおよびクライアントで ipa-certupdate ユーティリティーを実行して、LDAP からの新規証明書に関する情報でクライアントを更新します。全サーバーおよびクライアントで個別に ipa-certupdate を実行する必要があります。

    重要

    証明書を手動でインストールした後に ipa-certupdate を必ず実行します。実行しない場合には、証明書が他のマシンに配信されません。
更新した証明書が正しくインストールされていることを確認するには、certutil ユーティリティーを使用して、データベース内の証明書を表示します。以下に例を示します。
# certutil -L -d /etc/pki/pki-tomcat/alias/

26.2.3. IdM がオフラインの場合に期限が切れたシステム証明書の更新

システム証明書の有効期限が切れると、IdM の起動に失敗します。Red Hat Enterprise Linux 7.7 以降の IdM では、IdM のオフライン時にシステム証明書の更新に対応します。
以下の手順では、IdM サーバーで期限が切れたシステム証明書をすべて更新する方法を説明します。
  1. IdM ドメインの CA で、以下を実行します。
    1. ipa-cert-fix ユーティリティーを起動して、システムを解析し、期限切れの証明書の一覧を表示します。
      # ipa-cert-fix
      ...
      The following certificates will be renewed:
      
      Dogtag sslserver certificate:
        Subject: CN=ca1.example.com,O=EXAMPLE.COM 201905222205
        Serial:  13
        Expires: 2019-05-12 05:55:47
      ...
      Enter "yes" to proceed:
    2. yes と入力して、更新プロセスを開始します。
      Enter "yes" to proceed: yes
      Proceeding.
      Renewed Dogtag sslserver certificate:
        Subject: CN=ca1.example.com,O=EXAMPLE.COM 201905222205
        Serial:  268369925
        Expires: 2021-08-14 02:19:33
      ...
      
      Becoming renewal master.
      The ipa-cert-fix command was successful
      ipa-cert-fix が期限切れの証明書をすべて更新するまで数分かかることがあります。

      注記

      更新マスターではない CA ホストで ipa-cert-fix ユーティリティーを実行し、ユーティリティーが共有証明書を更新すると、このホストは自動的にドメインの新しい更新マスターになります。矛盾を回避するため、ドメインに存在できる更新マスターは常に 1 つになります。
    3. 必要に応じて、全サービスが実行中であることを確認します。
      # ipactl status
      Directory Service: RUNNING
      krb5kdc Service: RUNNING
      kadmin Service: RUNNING
      httpd Service: RUNNING
      ipa-custodia Service: RUNNING
      pki-tomcatd Service: RUNNING
      ipa-otpd Service: RUNNING
      ipa: INFO: The ipactl command was successful
  2. IdM ドメインの他のサーバーで、以下を行います。
    1. --force パラメーターで IdM を再起動します。
      # ipactl restart --force
      --force パラメーターを使用すると、ipactl ユーティリティーは個別の起動エラーを無視します。たとえば、サーバーが CA でもあると、pki-tomcat サービスは開始できません。これは --force パラメーターを使用しているため期待されるエラーで、無視されます。
    2. 再起動後、certmonger サービスが証明書を更新していることを確認します。
      # getcert list | egrep '^Request|status:|subject:'
      Request ID '20190522120745':
              status: MONITORING
              subject: CN=IPA RA,O=EXAMPLE.COM 201905222205
      Request ID '20190522120834':
              status: MONITORING
              subject: CN=Certificate Authority,O=EXAMPLE.COM 201905222205
      ...
      certmonger がレプリカの共有証明書を更新するまでに時間がかかることがあります。
    3. サーバーも CA である場合、上記のコマンドは pki-tomcat サービスが使用する証明書の CA_UNREACHABLE を報告します。
      Request ID '20190522120835':
              status: CA_UNREACHABLE
              subject: CN=ca2.example.com,O=EXAMPLE.COM 201905222205
      ...
      この証明書を更新するには、ipa-cert-fix ユーティリティーを使用します。
      # ipa-cert-fix
      Dogtag sslserver certificate:
        Subject: CN=ca2.example.com,O=EXAMPLE.COM
        Serial:  3
        Expires: 2019-05-11 12:07:11
      
      Enter "yes" to proceed: yes
      Proceeding.
      Renewed Dogtag sslserver certificate:
        Subject: CN=ca2.example.com,O=EXAMPLE.COM 201905222205
        Serial:  15
        Expires: 2019-08-14 04:25:05
      
      The ipa-cert-fix command was successful

このページには機械翻訳が使用されている場合があります (詳細はこちら)。