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