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