22.3. 新規 CA へのデータのインポート
「新規ホストでの CA の設定」 で新しい CA の設定が完了したら、データを Directory Server データベースにインポートできます。
- 以前のバージョンから移行する場合、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_name の cmsUser エントリーに含まれる
userType
とuserState
の属性で頻繁に表示されます。
インポート中にも、他のエントリーも失敗する可能性があります。データベースのインポート後にログファイルを確認することが重要です。必要に応じて、LDIF ファイルを一時的な空のデータベースにインポートして、インポートに失敗したエントリーを見つけることができます。 - CA サービスをシャットダウンします。
# systemctl stop pki-tomcatd@instance_name.service
- 必要に応じて、新しいホストの CA データベースをバックアップします。
# db2bak
バックアップは、/var/lib/dirsrv/instance_name/bak/host_name-time_stamp/
ディレクトリーに保存されます。 - 新しいデータベースにデータをインポートします。以下に例を示します。
# 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 を参照してください。 - 古いセキュリティードメインのディレクトリーエントリーを削除します。以下に例を示します。
# ldapmodify -W -x -D "cn=Directory Manager" dn: cn=server.example.com:9445,cn=CAList,ou=Security Domain,o=pki-tomcat-CA changetype: delete
/etc/pki/instance_name/ca/CS.cfg
ファイルで CA を有効にし、証明書失効リスト(CRL)マスターとして機能します。ca.crl.MasterCRL.enable=true
- CA サービスを起動します。
# systemctl start pki-tomcat@instance_name