22.3. 新規 CA へのデータのインポート

「新規ホストでの CA の設定」 で新しい CA の設定が完了したら、データを Directory Server データベースにインポートできます。
  1. 以前のバージョンから移行する場合、LDAP データ交換形式(LDIF)ファイルを手動でクリーンアップする必要がある場合があります。Red Hat Directory Server 10 より前のバージョンでは、構文チェックはデフォルトで無効でした。したがって、以前のバージョンのデータには、Directory Server 10 で無効になるエントリーを含めることができます。以下に例を示します。
    • ブール値属性の値は、TRUE または FALSE (すべて大文字)に設定する必要があります。
      重要
      検索および置換ユーティリティーを使用して、すべての出現箇所を自動的に大文字に更新しないでください。LDIF ファイルの一部の属性にはこれらの文字列が含まれますが、ブール値タイプを使用しません。これらの属性の値を更新すると、インポートが失敗する場合があります。通常、ブール値属性は cn=CAList,ou=Security Domain,CS_instance_name セキュリティードメインデータベースエントリーでのみ使用されます。
    • 空の文字列を削除する必要があります。Directory Server 構文の検証では、空の文字列を設定することはできません。
      空の文字列は、ou=People,CS_instance_namecmsUser エントリーに含まれる userTypeuserState の属性で頻繁に表示されます。
    インポート中にも、他のエントリーも失敗する可能性があります。データベースのインポート後にログファイルを確認することが重要です。必要に応じて、LDIF ファイルを一時的な空のデータベースにインポートして、インポートに失敗したエントリーを見つけることができます。
  2. CA サービスをシャットダウンします。
    # systemctl stop pki-tomcatd@instance_name.service
  3. 必要に応じて、新しいホストの CA データベースをバックアップします。
    # db2bak
    バックアップは、/var/lib/dirsrv/instance_name/bak/host_name-time_stamp/ ディレクトリーに保存されます。
  4. 新しいデータベースにデータをインポートします。以下に例を示します。
    # ldapmodify -h <hostname> -x -W -D 'cn=Directory Manager' -a -c -f /tmp/ds_bak/old_ca.ldif | \
         tee /root/import.log
    ldapmodify ユーティリティーは新しいエントリーのみを追加し、CA のインストール時に作成された既存のエントリーを更新しません。以下に例を示します。
    • トップレベルエントリー。たとえば、o=pki-tomcat-CAです。
    • デフォルトグループたとえば、cn=Certificate Manager Agents,ou=groups,o=pki-tomcat-CA です。
      標準グループは更新されないため、ユーザーはこれらのグループに自動的に追加されません。インポート後に、各デフォルトグループにメンバーを手動で追加する必要があります。「デフォルトグループにユーザーの再割り当て」を参照してください。
    • CA のデフォルトアクセス制御リスト (ACL)。
    前述のように、Directory Server 10 は構文検証を使用します。/root/import.log ファイルの出力を確認し、ldap_add: Invalid syntax(21) などの失敗したアクションを検索します。詳細は、ステップ 1 を参照してください。
  5. 古いセキュリティードメインのディレクトリーエントリーを削除します。以下に例を示します。
    # ldapmodify -W -x -D "cn=Directory Manager"
    dn: cn=server.example.com:9445,cn=CAList,ou=Security Domain,o=pki-tomcat-CA
    changetype: delete
  6. /etc/pki/instance_name/ca/CS.cfg ファイルで CA を有効にし、証明書失効リスト(CRL)マスターとして機能します。
    ca.crl.MasterCRL.enable=true
  7. CA サービスを起動します。
    # systemctl start pki-tomcat@instance_name