16.3. サブシステム証明書の更新

証明書を更新する方法は 2 つあります。証明書を 再生成 すると、元の鍵と元のプロファイルと要求を取得し、新しい有効期間と有効期限で同一の鍵を再作成します。証明書のキーを再入力 すると、最初の証明書要求が元のプロファイルに再送信されますが、新しいキーペアが生成されます。管理者証明書は、キーを再入力することで更新できます。

16.3.1. エンドエンティティーフォームでの証明書のキーの再設定

サブシステム証明書は、元の証明書のシリアル番号を使用して、エンドユーザー登録フォームで直接更新できます。
  1. 「証明書の更新」 の説明に従って、CA のエンドエンティティー形式で証明書を更新し す。これには、更新するサブシステム証明書のシリアル番号が必要です。
  2. 「証明書システムデータベースでの証明書のインストール」 の説明に従って、証明書をサブシステムのデータベースにインポートします。証明書は、certutil またはコンソールを使用してインポートできます。以下に例を示します。
    certutil -A -n "ServerCert cert-example" -t u,u,u -d /var/lib/pki/instance_name/alias -a -i /tmp/example.cert
    

16.3.2. コンソールでの証明書の更新

Java サブシステムは管理コンソールを使用してサブシステム証明書を更新できます。このプロセスは、新しいサブシステム証明書を要求する (「コンソールを使用した証明書の要求」) のと同じですが、重要な違いの 1 つは新しい鍵を生成するのではなく、既存のキーペア を使用します。

図16.1 サブシステム証明書の更新

サブシステム証明書の更新
証明書を更新したら、データベース (「データベースからの証明書の削除」) から元の証明書を削除します。

16.3.3. certutil を使用した証明書の更新

certutil は、証明書データベースの既存のキーペアを使用して証明書要求を生成するのに使用できます。その後、新しい証明書要求は、通常のプロファイルページで送信して CA で更新された証明書を発行できます。
注記
暗号化および署名証明書は単一のステップで作成されます。ただし、更新プロセスは一度に 1 つの証明書のみを更新します。
証明書ペアで両方の証明書を更新するには、各証明書を個別に更新する必要があります。
  1. トークンデータベースのパスワードを取得します。
    cat /var/lib/pki/instance_name/conf/password.conf
    
    internal=263163888660
    
  2. 証明書を更新しているインスタンスの証明書データベースディレクトリーを開きます。
    cd /var/lib/pki/instance_name/alias
  3. 更新する証明書のキーとニックネームを一覧表示します。証明書を更新するには、生成に使用されるキーペアと、新しい証明書に指定されたサブジェクト名は、古い証明書の証明書と同じである必要があります。
    # certutil -K -d .
    
    certutil: Checking token "NSS Certificate DB" in slot "NSS User Private Key and Certificate Services"
    Enter Password or Pin for "NSS Certificate DB":
    < 0> rsa      69481646e38a6154dc105960aa24ccf61309d37d   caSigningCert cert-pki-tomcat CA
  4. alias ディレクトリーをバックアップとしてコピーし、証明書データベースから元の証明書を削除します。以下に例を示します。
    certutil -D -n "ServerCert cert-example"  -d .
  5. 既存の証明書の値にオプションを設定して certutil コマンドを実行します。
    certutil -d . -R -n "NSS Certificate DB:cert-pki-tomcat CA" -s "cn=CA Authority,o=Example Domain" -a -o example.req2.txt
    新しい証明書とキーのペアの生成と証明書の更新の違いは、-n オプションの値です。新しいリクエストとキーのペアを生成するには、-k はキータイプを設定してから -g で使用します。これは、ビット長を設定します。更新要求では、-n オプションは証明書のニックネームを使用してセキュリティーデータベースに保存された既存のキーペアにアクセスします。
    パラメーターの詳細は、certutil(1) の man ページを参照してください。
  6. 「証明書の要求および受信」 の説明に従って、証明書要求を送信して取得し、インストールします。

16.3.4. システム証明書の更新

Certificate System は、PKI サーバーの実行中にシステム証明書をオンラインに自動的に更新しません。ただし、システム証明書の期限が切れると、証明書システムが起動できません。
システム証明書を更新するには、以下のコマンドを実行します。
  1. システム証明書の有効期限が切れている場合は、以下を行います。
    1. 一時証明書を作成します。
      # pki-server cert-create sslserver --temp
    2. Certificate System の Network Security Services (NSS) データベースに一時証明書をインポートします。
      # pki-server cert-import sslserver
    3. Certificate System を開始します。
      # systemctl start pki-tomcatd@instance_name.service
  2. 証明書を表示し、期限切れのシステム証明書の ID をメモします。
    # pki-server cert-find
  3. 新しい永続的な証明書を作成します。
    # pki-server cert-create certificate_ID
  4. Certificate System を停止します。
    # systemctl stop pki-tomcatd@instance_name.service
  5. 新しい証明書をインポートして、期限切れの証明書を置き換えます。
    # pki-server cert-import certificate_ID
  6. Certificate System を開始します。
    # systemctl start pki-tomcatd@instance_name.service