Regenerating the server SSL certificates
========================================

PEMバックエンドデータベースサーバー証明書の有効期限が間もなくエキスパイアと、証明書とキーファイルの再生成を計画します。

..  Important::
   PEMは、証明書の有効期限が近づくと、デフォルトでこれらの手順を実行します。これらの手順は、PEM証明書とキーを手動で再生成する必要がある場合に、完全を期すために提供されています。

SSL証明書を置き換えるには

1. 実行中のすべてのPEMエージェントを、最初にサーバホストで、次に監視対象ホストで停止します。
   - Linuxの場合

.. code:: shell

        # Running as root
        systemctl stop pemagent

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

1. 既存のSSL証明書とキーをバックアップします。

.. code:: shell

      cd /var/lib/edb/as<x>/data
      mkdir certs
      mv server. *root.*  ca_* certs/

1. ``openssl`` コマンドを使用して、\ ``ca_key.key``
   ファイルを生成します。

.. code:: shell

      openssl genrsa -out ca_key.key 4096 

1. ``ca_key.key``
   ファイルをバックエンドサーバーのデータディレクトリに移動し、権限を変更します。

.. code:: shell

      mv ca_key.key /var/lib/edb/as<x>/data
      chmod 600 /var/lib/edb/as<x>/data/ca_key.key

1. ``ca_key.key`` を使用して\ ``ca_certificate.crt``
   ファイルを生成します。

.. code:: shell

      openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout ca_key.key -out ca_certificate.crt

1. ``ca_certificate.crt`` ファイルのアクセス許可を変更します。

.. code:: shell

      chmod 600 /var/lib/edb/as<x>/data/ca_certificate.crt

1. ``ca_certificate.crt`` ファイルを\ ``root.crt``
   ファイルとして再利用しファイル。

.. code:: shell

      cp /var/lib/edb/as<x>/data/ca_certificate.crt /var/lib/edb/as<x>/data/root.crt

1. ``root.crt`` ファイルの所有者と権限を変更します。

.. code:: shell

      chown enterprisedb /var/lib/edb/as<x>/data/root.crt
      chmod 600 /var/lib/edb/as<x>/data/root.crt

1. ``openssl_rsa_generate_crl()``
   ファンクションを使用して、証明書失効リスト ``root.crl``
   を作成します。

.. code:: shell

      psql -U enterprisedb -d pem --no-psqlrc -t -A -c
      "SELECT openssl_rsa_generate_crl(/var/lib/edb/as<x>/data/ca_certificate.crt, /var/lib/edb/as<x>/data/ca_key.key)" > /var/lib/edb/as<x>/data/root.crl

1. ``root.crl`` ファイルの所有権と権限を変更します。

.. code:: shell

      chown enterprisedb /var/lib/edb/as<x>/data/root.crl
      chmod 600 /var/lib/edb/as<x>/data/root.crl

1. ``openssl`` コマンドを使用して、\ ``server.key``
   ファイルを生成します。

.. code:: shell

      openssl genrsa -out server.key 4096 

1. ``server.key``
   をバックエンドサーバーのデータディレクトリに移動し、所有権と権限を変更します。

.. code:: shell

      mv server.key /var/lib/edb/as<x>/data
      chown enterprisedb /var/lib/edb/as<x>/data/server.key
      chmod 600 /var/lib/edb/as<x>/data/server.key

1. ``openssl req`` コマンドを使用してCSRを作成します。

.. code:: shell

      openssl req -new -key server.key -out server.csr -subj /C=IN/ST=MH/L=Pune/O=EDB/CN=PEM

``-subj`` は、要件に従って提供されます。 ``CN``
をPEMサーバーホストのホスト名/ドメイン名として定義します。

1. ``openssl x509``
   コマンドを使用してCSRに署名し、サーバー証明書を生成します。
   ``server.crt``
   をバックエンドデータベースサーバーのデータディレクトリに移動します。

.. code:: shell

      openssl x509 -req -days 365 -in server.csr -CA ca_certificate.crt -CAkey ca_key.key -CAcreateserial -out server.crt
      mv server.crt /var/lib/edb/as<x>/data

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

1. ``server.crt`` ファイルの所有者と権限を変更します。

.. code:: shell

      chown enterprisedb /var/lib/edb/as<x>/data/server.crt
      chmod 600 /var/lib/edb/as<x>/data/server.crt

1. PEMサーバーを再起動します。

.. code:: shell

      systemctl restart edb-as-<x>

バックエンドデータベースサーバーを再起動すると、PEMサーバーが再起動されます。

1. 各PEMエージェントのSSL証明書を再生成します。詳細については、
   :ref:`Regenerating the agent SSL certificates <Regenerating the agent SSL certificates>` を参照してください。
