Regenerating the agent self-signed SSL certificates
===================================================

エージェント証明書とキーファイルを再生成する必要があります。

-  PEMサーバー証明書が再生成された場合

-  PEMエージェント証明書の有効期限が間もなくエキスパイアと

PEMサーバーと対話するエージェントごとに証明書とキーを再生成し、エージェントにコピーする必要があります。

各エージェントには、pemデータベースのpem.agentテーブルに保存されている一意の識別子があります。証明書とキーファイルを、エージェントの識別子に対応する証明書またはキーファイルに置き換える必要があります。

前提条件

-  PEMサーバーには自己署名証明書があります。

-  ``ca_certificate.crt`` および\ ``ca_key.key``
   は、PEMバックエンドデータベースサーバーのデータディレクトリにあります。

-  ``ca_certificate.crt`` は\ ``root.crt`` と同じです。

-  ``ca_certificate.crt`` および\ ``ca_key.key``
   は、有効なSSL証明書とキーです。

PEMエージェント証明書とキーファイルペアを生成するには

1. psqlを使用して、エージェントの数とそれに対応する識別子を見つけます。

.. code:: shell

      # Running as enterprisedb
      psql -p 5444 -U enterprisedb -d pem --no-psqlrc -t -A -c "SELECT id FROM pem.agent WHERE active=true"

1. 実行中のすべてのPEMエージェントを停止します。

.. code:: shell

      # Running as root
      systemctl stop pemagent

Windowsでは、サービスアプレットを使用してPEMエージェントを停止します。
PEMエージェントサービスの名前はPostgres Enterprise Manager Agentです。 [
Services ]ダイアログボックスで、サービス名を選択し、[ **Stop the
service** ]を選択します。

1. 2.キーファイルを必要とするエージェントを特定した後、各エージェントに対して\ ``agent.key``
   を生成します。

edb_notranlate_2 ``ID`` はエージェント識別子です。

1. 各エージェントの証明書署名要求CSRを生成します。

edb_notranlate_3 ``CN`` は\ ``agent<ID>`` です。

1. ``openssl x509``
   コマンドを使用してCSRに署名し、エージェント証明書を生成します。

edb_notranlate_4 ``-req`` は、入力がCSRであることを示します。 ``-CA``
および\ ``-CAkey``
オプションは、CSRの署名に使用するルート証明書とプライベートキーを指定します。

次の証明書とキーファイルのペアを生成する前に、各PEMエージェントホストで手順2および4で生成された\ ``agent.key``
および\ ``agent.crt`` ファイルを移動します。

1. 新しい\ ``agent<ID>.crt`` および\ ``agent<ID>.key``
   ファイルの権限を変更します。

.. code:: shell

      chmod 600 agent<ID>.crt agent<ID>.key

1. 古いエージェント証明書とキーファイルをバックアップします。

.. code:: shell

      mkdir root/.pem/certs
      mv root/.pem/agent<ID>.* root/.pem/certs

1. 各エージェントの証明書とキーファイルを、新しく生成されたファイルに置き換えます。

.. code:: shell

      cp agent<ID>.key agent<ID>.crt root/.pem

1. PEMエージェントサービスを開始します。

-  Linuxの場合

.. code:: shell

        # Running as root
        systemctl start pemagent

-  Windowsの場合
   サービスアプレットを使用してPEMエージェントを起動します。
   PEMエージェントサービスの名前はPostgres Enterprise Manager
   Agentです。 [ Services ]ダイアログボックスで、サービス名を選択し、[
   **Start the service** ]を選択します。
