22.2. 新規ホストでの CA の設定
「以前のシステムからのデータのエクスポート」 で既存の Directory Server と Certificate System インスタンスからデータをエクスポートしたら、新しいホストに認証局を設定します。
- Directory Server を設定します。「Red Hat Directory Server のインストール」を参照してください。
- Certificate System リポジトリーを有効にします。「Red Hat サブスクリプションの添付および Certificate System パッケージリポジトリーの有効化」を参照してください。
- pki-ca パッケージをインストールします。
yum install pki-ca
# yum install pki-caCopy to Clipboard Copied! Toggle word wrap Toggle overflow Certificate System コンソールなどの追加機能が必要な場合は、対応するパッケージをインストールします。詳細は、「Certificate System パッケージ」 を参照してください。 - IPv6 アドレスを使用するホストで CA をセットアップする場合は、「サブシステムの IPv6 の有効化」 で説明されている手順を適用します。
- 環境によって、この手順は異なります。
- ハードウェアセキュリティーモジュール (HSM) を使用する場合:
/root/pki-CA-deployment.txtなどのデプロイメント設定ファイルを次の内容で作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例で使用されたパラメーターの説明については、この手順の最後にある 表22.1「pkispawn パラメーターの説明」 を参照してください。 - ハードウェアセキュリティーモジュール (HSM) を使用しない場合:
- PKCS #12 ファイルに CA 署名証明書とキーが含まれていることを確認します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このファイルには、他の証明書とキーを追加で含めることができる点に注意してください。 - 前の手順の出力で、CA 署名証明書の信頼フラグを確認します。フラグが
CTu,Cu,Cuに設定されていない場合、または欠落している場合は、フラグをリセットします。pki pkcs12-cert-mod caSigningCert cert-pki-tomcat CA \ --pkcs12-file /tmp/cs_bak/ca.p12 \ --pkcs12-password-file /tmp/cs_bak/pkcs12_password.txt \ --trust-flags "CTu,Cu,Cu"# pki pkcs12-cert-mod caSigningCert cert-pki-tomcat CA \ --pkcs12-file /tmp/cs_bak/ca.p12 \ --pkcs12-password-file /tmp/cs_bak/pkcs12_password.txt \ --trust-flags "CTu,Cu,Cu"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CA 署名証明書とキーを除く、他のすべての証明書とキーを PKCS #12 ファイルから削除します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 移行する CA が中間 CA の場合は、ルート CA 証明書を PKCS #12 ファイルから削除します。以下に例を示します。
pki pkcs12-cert-del ca-pki-ca \ --pkcs12-file /tmp/cs_bak/ca.p12 \ --pkcs12-password-file /tmp/cs_bak/pkcs12_password.txt# pki pkcs12-cert-del ca-pki-ca \ --pkcs12-file /tmp/cs_bak/ca.p12 \ --pkcs12-password-file /tmp/cs_bak/pkcs12_password.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow /root/pki-CA-deployment.txtなどのデプロイメント設定ファイルを次の内容で作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例で使用されたパラメーターの説明については、表22.1「pkispawn パラメーターの説明」 を参照してください。
Expand 表22.1 pkispawn パラメーターの説明 パラメーターおよび設定説明pki_hsm_*およびpki_token_*HSM との通信を有効にします。これらのパラメーターは、HSM を使用して CA をセットアップする場合にのみ設定してください。pki_existing=True既存の CA メカニズムを使用するように設定します。pki_ca_signing_nicknameCA 署名ニックネームは、前のインストールで使用されたものとまったく同じである必要があります。そうでない場合、インストーラーは署名キーを見つけることができません。pki_ca_signing_*証明書署名要求 (CSR) および既存のマシンからコピーされた証明書ファイルへのパスを設定します。pki_pkcs12_*PKCS #12 ファイルへのパスと、ファイルの復号化に使用するパスワードを設定します。HSM を使用して CA をデプロイする場合は、このパラメーターを設定しないでください。pki_ds_base_dnDirectory Server ベース識別名 (DN) を設定します。値は、以前の CA と同じでなければなりません。この値は、/var/lib/instance_name/conf/CS.cfgファイルのinternaldb.basednパラメーターにあります。pki_serial_number_range_startシリアル番号は重要です。値は、以前の CA で使用される最後の数値よりも高くする必要があります。すでに使用されている番号を表示するには、古い CA のエージェントインターフェイスを参照してください。このパラメーターは、先頭に0xの接頭辞なしで 16 進形式で設定されます。例 (4e) で使用される値は、10 進数の78です。pki_request_number_range_startリクエスト番号が重要である。値は、以前の CA で使用される最後の数値よりも高くする必要があります。すでに使用されている番号を表示するには、古い CA のエージェントインターフェイスを参照してください。値は 10 進数の形式で設定されます。pki_master_crl_enable=Falseセットアップ中の証明書失効リスト (CRL) の初期作成と公開を防ぎます。代わりに、CRL はデータベースの移行時に古いデータからインポートされます。pki_cert_chain_pathおよびpki_cert_chain_nickname古い CA が中間 CA の場合にのみ、これらのパラメーターを設定します。この場合、ルート CA 証明書ファイルへのパスと、証明書を Network Security Services (NSS) データベースに保存するときに使用するニックネームにパラメーターを設定します。pki_ca_signing_record_create=Falsepkispawn プロセスの最後に CA 署名レコードの再作成を無効にします。これにより、古いデータベースをインポートできます。pki_ca_signing_serial_numberCA 署名証明書のシリアル番号を 10 進数で設定します。これは、最初に作成された署名証明書データベースレコードを削除し、代わりに ldif データインポートを介してインポートするためです。連続シリアル番号スキームでは、pki_serial_number_range_start に設定された値の 10 進数表現である必要があります。例: pki_serial_number_range_start=100 pki_ca_signing_serial_number=256詳細およびパラメーターの説明は、pkispawn(8) man ページを参照してください。 - デプロイメント設定ファイルを使用して新しい CA を作成します。以下に例を示します。
pkispawn -s CA -f /root/pki-CA-deployment.txt
# pkispawn -s CA -f /root/pki-CA-deployment.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow - CA 署名キー ID が既存の CA と新しい CA で同じであることを確認します。以下に例を示します。
grep "internal=" /var/lib/instance_name/conf/password.conf | \ awk -F= '{print $2;}' > internal.txt# grep "internal=" /var/lib/instance_name/conf/password.conf | \ awk -F= '{print $2;}' > internal.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -K -d /var/lib/instance_name/alias/ -f internal.txt ... < 2> rsa 7bd4dc662670ebe08a35086b054175559608ac20 caSigningCert ca-pki-ca ...
# certutil -K -d /var/lib/instance_name/alias/ -f internal.txt ... < 2> rsa 7bd4dc662670ebe08a35086b054175559608ac20 caSigningCert ca-pki-ca ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow