Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

28.2.2. IdM CA が発行する CA 証明書の更新

ホスト証明書およびユーザー証明書 (内部 IdM サービスで使用されるサブシステムおよびサーバー証明書を含む) などの IdM サーバーが発行するすべての証明書は、certmonger ユーティリティーにより追跡され、有効期限が近いときに自動的に更新されます。
CA 証明書自体の例外が 1 つあります。この証明書は有効期限が切れても自動的に更新されません。
警告
CA 証明書の有効期限が切れる前に、常に CA 証明書を更新するようにしてください。CA 証明書の有効期限は独自に監視する必要があることに注意してください。IdM は、Red Hat Enterprise Linux 6 で自動的に有効期限を監視しません。

28.2.2.1. 更新手順

他の証明書がまだ有効である期間に更新を行う必要があります。独自のサブシステム証明書を更新するには、CA が稼働している必要があります。CA 証明書の有効期限が切れてから CA 証明書を更新しようとすると、有効期間が CA サブシステム証明書の有効期限を過ぎても IdM サーバーは機能しません。

IdM CA の署名証明書を更新し、最初にインストールした IdM サーバーに新しい CA 証明書のインストールする

  1. IPA が停止していることを確認します。
    # ipactl status
    # ipactl stop
  2. ntpd が実行していないことを確認します。
    # service ntpd status
    # service ntpd stop
  3. Directory Server を起動し、これが実行していることを確認します。
    # service dirsrv start
    # service dirsrv status
  4. Dogtag CA を起動し、これが実行されていることを確認します。
    # service pki-cad start
    # service pki-cad status
  5. dogtag-ipa-renew-agent-submit コマンドを入力して、certmonger ヘルパー経由で Dogtag CA 署名証明書を直接更新します。
    # /usr/libexec/certmonger/dogtag-ipa-renew-agent-submit -D 1 -T caCACert | tail -n 1 | xargs /usr/libexec/certmonger/dogtag-ipa-renew-agent-submit -d /etc/httpd/alias -n ipaCert -p /etc/httpd/alias/pwdfile.txt -v -S
  6. CA 証明書の NSS データベースを更新します。
    # certutil -A -d /var/lib/pki-ca/alias -n 'caSigningCert cert-pki-ca' -t CT,C,C -a -i /root/ipa.crt
  7. /etc/pki-ca/CS.cfgca.signing.cert の値を置き換えます。これは、証明書の base64 値です。これを取得するには、BEGIN/END ブロックを ipa.crt から削除し、1 つの行に圧縮します。
  8. Apache NSS データベースを更新します。
    # certutil -A -d /etc/httpd/alias -n 'EXAMPLE.COM IPA CA'  -t CT,C,C -a -i /root/ipa.crt
  9. LDAP サーバーインスタンスを更新します。
    # certutil -A -d /etc/dirsrv/slapd-EXAMPLE-COM -n 'EXAMPLE.COM IPA CA' -t CT,C,C -a -i /root/ipa.crt
    			# certutil -A -d /etc/dirsrv/slapd-PKI-IPA -n 'EXAMPLE.COM IPA CA' -t CT,C,C -a -i /root/ipa.crt
  10. ファイルシステムの CA 証明書を更新します。
    # cp /root/ipa.crt /etc/ipa/ca.crt
    			# cat /root/ipa.crt /root/external-ca.pem >/etc/httpd/alias/cacert.asc
    			# cp /etc/httpd/alias/cacert.asc /usr/share/ipa/html/ca.crt
  11. 共有システムデータベースを更新します。
    # certutil -A -d /etc/pki/nssdb -n 'IPA CA' -t CT,C,C -a -i /root/ipa.crt
  12. サービスを再起動します。
    # ipactl start
  13. LDAP で CA 証明書を更新します。まず、証明書を DER 形式に変換します。
    # openssl x509 -outform DER -in /root/ipa.crt  -out /tmp/ipa.der
  14. 証明書を LDAP に追加します。
    # kinit admin
    			# ldapmodify -Y GSSAPI
    			SASL/GSSAPI authentication started
    			SASL username: admin@EXAMPLE.COM
    			SASL SSF: 56
    			SASL data security layer installed.
    			dn: cn=CAcert,cn=ipa,cn=etc,dc=example,dc=com
    			changetype: modify
    			replace: cacertificate;binary
    			cacertificate;binary:<file:///tmp/ipa.der
  15. ipa-getcert list を使用して、certmonger が追跡するすべての要求の一覧を表示します。
    # ipa-getcert list
  16. この出力で、サブシステム証明書のいずれかがすでに期限切れであることが示されたら、それぞれの証明書に対して個別に ipa-getcert resubmit を使用して証明書を更新します。詳細は、ナレッジベースソリューション「Dealing with expiring IDM CA certificates on Red Hat Enterprise Linux 6 and 7」を参照してください。

CA を使用する他の IdM サーバーに新しい CA 証明書をインストールする

  1. 更新された証明書をマシンにコピーし、サービスを停止します。ファイルは /root/ipa.crt と想定します。
    # service ipa stop
  2. Apache NSS データベースを更新します。
    # certutil -A -d /var/lib/pki-ca/alias -n 'caSigningCert cert-pki-ca' -t CT,C,C -a -i /root/ipa.crt
  3. /etc/pki-ca/CS.cfgca.signing.cert の値を置き換えます。これは、証明書の base64 値です。これを取得するには、BEGIN/END ブロックを ipa.crt から削除し、1 つの行に圧縮します。
  4. Apache NSS データベースを更新します。
    # certutil -A -d /etc/httpd/alias -n 'EXAMPLE.COM IPA CA'  -t CT,C,C -a -i /root/ipa.crt
  5. LDAP サーバーインスタンスを更新します。
    # certutil -A -d /etc/dirsrv/slapd-EXAMPLE-COM -n 'EXAMPLE.COM IPA CA' -t CT,C,C -a -i /root/ipa.crt
    			# certutil -A -d /etc/dirsrv/slapd-PKI-IPA -n 'EXAMPLE.COM IPA CA' -t CT,C,C -a -i /root/ipa.crt
  6. ファイルシステムの CA 証明書を更新します。
    # cp /root/ipa.crt /etc/ipa/ca.crt
    			# cat /root/ipa.crt /root/external-ca.pem >/etc/httpd/alias/cacert.asc
    			# cp /etc/httpd/alias/cacert.asc /usr/share/ipa/html/ca.crt
  7. 共有システムデータベースを更新します。
    # certutil -A -d /etc/pki/nssdb -n 'IPA CA' -t CT,C,C -a -i /root/ipa.crt
  8. サービスを再起動します。
    # service ipa start

CA を使用しない他の IdM マスターに新しい CA 証明書をインストールする

  1. 更新された証明書をマシンにコピーし、サービスを停止します。ファイルは /root/ipa.crt と想定します。
    # service ipa stop
  2. Apache NSS データベースを更新します。
    # certutil -A -d /etc/httpd/alias -n 'EXAMPLE.COM IPA CA'  -t CT,C,C -a -i /root/ipa.crt
  3. LDAP サーバーインスタンスを更新します。
    # certutil -A -d /etc/dirsrv/slapd-EXAMPLE-COM -n 'EXAMPLE.COM IPA CA' -t CT,C,C -a -i /root/ipa.crt
    			# certutil -A -d /etc/dirsrv/slapd-PKI-IPA -n 'EXAMPLE.COM IPA CA' -t CT,C,C -a -i /root/ipa.crt
  4. ファイルシステムの CA 証明書を更新します。
    # cp /root/ipa.crt /etc/ipa/ca.crt
    			# cat /root/ipa.crt /root/external-ca.pem >/etc/httpd/alias/cacert.asc
    			# cp /etc/httpd/alias/cacert.asc /usr/share/ipa/html/ca.crt
  5. 共有システムデータベースを更新します。
    # certutil -A -d /etc/pki/nssdb -n 'IPA CA' -t CT,C,C -a -i /root/ipa.crt
  6. サービスを再起動します。
    # service ipa start

すべての IdM クライアントマシンに新しい CA 証明書をインストールする

更新された IdM CA 証明書を取得します。ファイルは /tmp/ipa.crt と想定します。
# certutil -A -d /etc/pki/nssdb -n 'IPA CA' -t CT,C,C -a -i /tmp/ipa.crt
			# cp /tmp/ipa.crt /etc/ipa/ca.crt