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

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サーバーを再起動します。

``shell    systemctl restart edb-as-<x>``
バックエンドデータベースサーバーを再起動すると、PEMサーバーが再起動されます。

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